Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Jun 2012 00:11:02 +1000
From:      Darren Reed <darernr@freebsd.org>
To:        Andre Oppermann <andre@freebsd.org>
Cc:        darrenr@freebsd.org, freebsd-net@freebsd.org
Subject:   Re: FreeBSD TCP ignores zero window size
Message-ID:  <4FDB4276.9020402@freebsd.org>
In-Reply-To: <4F7B80CE.90805@freebsd.org>
References:  <4F75C1A3.4030401@freebsd.org> <4F75D9ED.7080707@freebsd.org> <4F780373.6030107@freebsd.org> <4F7AFEEF.60708@freebsd.org> <4F7B1981.1050009@freebsd.org> <4F7B80CE.90805@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

Today I ran a similar workload to what I had done previously and
it seemed to progress without incident. I had tcpdump running to
capture the entire session and upon review of that, there are indeed
instances where the window from the remote end is advertised as 0.

For now at least, that patch seems to do the magic trick.

Cheers,
Darren




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FDB4276.9020402>