Mark Lakata wrote:
I'm not sure how to get the size of the "connections's TX/RX window sizes".

The easiest way is wiresharp. Posting a pcap here might help us to look at what's going on.

Here is a snippet from the lwipopts.h.
[..]
#define TCP_SND_BUF             (2*TCP_MSS)
#define TCP_WND                 (2*TCP_MSS)

Using half the MSS should work (if it doesn't, it should be a bug in lwIP), but it's not recommended to do so. TCP needs at leasst 4*MSS to work efficiently. I bet with TCP_SND_BUF and TCP_WND set to 2*TCP_MSS, your problems are gone.

The problem here is that TCP tries to prevent sending too many ACKs/window-updates. Most TCP implementations only send an ACK if the resulting change for the remote client is one MSS, this is why you easily run into problems with WND==2*MSS and lwIP splitting up send-data into MSS-sized chunks.

Simon
_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to