[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SV: [lwip-users] TCP payload is doubled
From: |
Kieran Mansley |
Subject: |
Re: SV: [lwip-users] TCP payload is doubled |
Date: |
Wed, 21 Oct 2009 13:07:08 +0100 |
On Fri, 2009-10-16 at 13:41 +0200, Jan Wester wrote:
> Hi
> I have the same problem
> Kieran mention about to set TCP_WND_UPDATE_THRESHOLD = 0. I have not tested
> yet, will start to test next week
>
> Kieran wrote
> The window advertisement code was re-worked in 1.3.1 to only send an
> explicit update when the change in window is greater than
> TCP_WND_UPDATE_THRESHOLD. This defaults to (TCP_WND / 4). You could define
> this to be zero to get the old behaviour, but the new behaviour should be
> much better. I would be interested to know what the problem you encounter
> as a result of the less-frequent window updates is. Note that any ACKs for
> data that get returned should have the up-to-date window information in them
> - it is only the sending of explicit window update ACKs that is restricted.
I was a bit wrong there. I've taken another look at the code and this
change in behaviour is intentional. There were two changes in 1.3.1:
- only send an explicit window update if the change is greater than
TCP_WND_UPDATE_THRESHOLD.
- only change the window advertised (including in normal ACKs) if the
change is greater than 1 MSS. This is silly window avoidance, and
designed to prevent the sender getting small amounts of window and then
sending small packets.
This doesn't therefore work well if your window is the same as the MSS
as the advertised window will decrease to zero before the amount it can
increase by equals 1 MSS, and it will then jump up by 1 MSS. We could
make the threshold for announcing more window configurable, but I prefer
documenting this property, perhaps with a compile time warning if your
lwip options are configured this way, as having MSS == WND is bad for
lots of reasons.
Kieran
- RE: [lwip-users] conn->err = ERR_CLSD in api_lib.c, (continued)
- RE: [lwip-users] TCP payload is doubled, Bill Auerbach, 2009/10/14
- RE: [lwip-users] TCP payload is doubled, David Shmelzer, 2009/10/15
- SV: [lwip-users] TCP payload is doubled, Jan Wester, 2009/10/16
- RE: [lwip-users] TCP payload is doubled, David Shmelzer, 2009/10/16
- RE: [lwip-users] TCP payload is doubled, Kieran Mansley, 2009/10/21
- RE: [lwip-users] TCP payload is doubled, Kieran Mansley, 2009/10/21
- Re: SV: [lwip-users] TCP payload is doubled,
Kieran Mansley <=
- RE: SV: [lwip-users] TCP payload is doubled, David Shmelzer, 2009/10/21
- Re: SV: [lwip-users] TCP payload is doubled, address@hidden, 2009/10/21
- RE: SV: [lwip-users] TCP payload is doubled, David Shmelzer, 2009/10/21
- Re: SV: [lwip-users] TCP payload is doubled, Kieran Mansley, 2009/10/22
- Re: SV: [lwip-users] TCP payload is doubled, David Empson, 2009/10/21
- Re: [lwip-users] TCP payload is doubled, Simon Goldschmidt, 2009/10/22
- Re: [lwip-users] TCP payload is doubled, Kieran Mansley, 2009/10/22
- Re: SV: [lwip-users] TCP payload is doubled, Kieran Mansley, 2009/10/22
- Re: SV: [lwip-users] TCP payload is doubled, David Empson, 2009/10/22