Skip to content

Commit ec2db62

Browse files
committed
lwIP: Enable TCP out-of-order processing
Our config file for lwIP had TCP_QUEUE_OOSEQ disabled - this can cause significant performance problems, as observed during testing. One lost packet can lock an input stream into a mode where the transmitter keeps thinking packets are being lost, so keeps slowing down. This caused test failures - a transfer that would normally take 10s hit a 60s timeout. Turning this on increases code size, but doesn't significantly increase static memory use. The memory used for out-of-order packets comes from the same pbuf pool as for outgoing TCP segments, so there is contention when running bidirectionally. Out-of-order processing is on by default for lwIP - this seems to be another example of us excessively paring it back.
1 parent 30e39ee commit ec2db62

File tree

1 file changed

+0
-1
lines changed

1 file changed

+0
-1
lines changed

features/FEATURE_LWIP/lwip-interface/lwipopts.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,6 @@
210210

211211
#if MBED_CONF_LWIP_TCP_ENABLED
212212
#define LWIP_TCP 1
213-
#define TCP_QUEUE_OOSEQ 0
214213
#define TCP_OVERSIZE 0
215214
#define LWIP_TCP_KEEPALIVE 1
216215
#else

0 commit comments

Comments
 (0)