From owner-freebsd-net@FreeBSD.ORG Wed Apr 4 01:57:38 2012 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 10EA0106566C for ; Wed, 4 Apr 2012 01:57:38 +0000 (UTC) (envelope-from darernr@freebsd.org) Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by mx1.freebsd.org (Postfix) with ESMTP id CF1EA8FC0A for ; Wed, 4 Apr 2012 01:57:37 +0000 (UTC) Received: from compute1.internal (compute1.nyi.mail.srv.osa [10.202.2.41]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 53C0021322 for ; Tue, 3 Apr 2012 21:57:37 -0400 (EDT) Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161]) by compute1.internal (MEProxy); Tue, 03 Apr 2012 21:57:37 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:date:from:mime-version:to:cc :subject:references:in-reply-to:content-type :content-transfer-encoding; s=smtpout; bh=ZVr1Aig+39cQBD0qx1DJBh cCjZg=; b=MTmpcSHg2geTChC7tdwc1zGf9J6R6g3sMVICUi46RiOHNS9xZBLjWQ PUM15ZH6LfhzM4mdyyETTysT+hnBfiEwsl3ilmZdlzQ76yzX7SAMW0dHcB2wA2wg CmuvUsIL0BXBMWz9Yx+qED01rX2BqMIHLeyhq8a99XY3ed4Ygd220= X-Sasl-enc: V4uIq1r2HPsY4hIzGmQttKxmAbacQYd9w7LjALPfpJva 1333504656 Received: from [192.168.1.23] (dsl-202-45-110-141-static.VIC.netspace.net.au [202.45.110.141]) by mail.messagingengine.com (Postfix) with ESMTPSA id 47EB74825E0; Tue, 3 Apr 2012 21:57:35 -0400 (EDT) Message-ID: <4F7BB8AD.2090307@freebsd.org> Date: Wed, 04 Apr 2012 12:57:49 +1000 From: Darren Reed User-Agent: Thunderbird 2.0.0.24 (Windows/20100228) MIME-Version: 1.0 To: Andre Oppermann 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> In-Reply-To: <4F7B80CE.90805@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: FreeBSD TCP ignores zero window size X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Apr 2012 01:57:38 -0000 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