FreeBSD TCP ignores zero window size

Darren Reed darernr at freebsd.org
Wed Apr 4 01:57:38 UTC 2012


Andre Oppermann wrote:
> On 03.04.2012 17:38, Darren Reed wrote:
>> On 3/04/2012 11:45 PM, Andre Oppermann wrote:
>>> On 01.04.2012 09:27, Darren Reed wrote:
>>>> The problem here is that it only tracks the window size as
>>>> it grows, not as it shrinks. Thus the remote end setting its
>>>> window size to 0 is ignored.
>>>
>>> My patch is wrong as the acked count is already integrated
>>> by the time we reach this spot.  I'm working on a better
>>> implementation.
>>
>> Ok, I'll look forward to seeing and testing it.
>
> Please test this patch:
>  http://people.freebsd.org/~andre/tcp_input.c-windowupdate-2012040.diff
>
> I just completed a number of tests and inspected the debug output as
> well as the corresponding tcpdumps.  In all could simulate it behaved
> correctly now with regard to tracking the window and updates.

As luck would have it, attempts to reproduce the problem today
have failed. I suspect this is because the server at the other
end is under less load than it has been in the recent past.
I'll keep the patch applied and try it again in the future when
I suspect that condition may arise again.

Thanks,
Darren



More information about the freebsd-net mailing list