From a6163888f3c56123b1db313743c6147ba498732c Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Fri, 8 Aug 2014 14:42:07 +0300 Subject: Add third_party libs --- third_party/uip-1.0/doc/html/a00154.html | 79 ++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 third_party/uip-1.0/doc/html/a00154.html (limited to 'third_party/uip-1.0/doc/html/a00154.html') diff --git a/third_party/uip-1.0/doc/html/a00154.html b/third_party/uip-1.0/doc/html/a00154.html new file mode 100644 index 0000000..3f54291 --- /dev/null +++ b/third_party/uip-1.0/doc/html/a00154.html @@ -0,0 +1,79 @@ + + +uIP 1.0: uIP TCP throughput booster hack + + + + +
+
+

uIP TCP throughput booster hack
+ +[The uIP TCP/IP stack] +


Detailed Description

+The basic uIP TCP implementation only allows each TCP connection to have a single TCP segment in flight at any given time. +

+Because of the delayed ACK algorithm employed by most TCP receivers, uIP's limit on the amount of in-flight TCP segments seriously reduces the maximum achievable throughput for sending data from uIP.

+The uip-split module is a hack which tries to remedy this situation. By splitting maximum sized outgoing TCP segments into two, the delayed ACK algorithm is not invoked at TCP receivers. This improves the throughput when sending data from uIP by orders of magnitude.

+The uip-split module uses the uip-fw module (uIP IP packet forwarding) for sending packets. Therefore, the uip-fw module must be set up with the appropriate network interfaces for this module to work. +

+ + + + + + + +

+

+ + + +

Files

file  uip-split.h
 Module for splitting outbound TCP segments in two to avoid the delayed ACK throughput degradation.

Functions

void uip_split_output (void)
 Handle outgoing packets.
+


Function Documentation

+

+ + + + +
+ + + + + + + + + +
void uip_split_output ( void   ) 
+
+ + + + + +
+   + + +

+Handle outgoing packets. +

+This function inspects an outgoing packet in the uip_buf buffer and sends it out using the uip_fw_output() function. If the packet is a full-sized TCP segment it will be split into two segments and transmitted separately. This function should be called instead of the actual device driver output function, or the uip_fw_output() function.

+The headers of the outgoing packet is assumed to be in the uip_buf buffer and the payload is assumed to be wherever uip_appdata points. The length of the outgoing packet is assumed to be in the uip_len variable. +

+Definition at line 49 of file uip-split.c. +

+References BUF, uip_acc32, uip_add32(), uip_appdata, UIP_BUFSIZE, uip_ipchksum(), UIP_IPH_LEN, uip_len, UIP_LLH_LEN, UIP_PROTO_TCP, uip_tcpchksum(), and UIP_TCPIP_HLEN.

+


Generated on Mon Jun 12 10:23:02 2006 for uIP 1.0 by  + +doxygen 1.4.6
+ + -- cgit v1.3.1