From owner-freebsd-hackers@FreeBSD.ORG Mon Jan 22 08:59:47 2007 Return-Path: X-Original-To: hackers@freebsd.org Delivered-To: freebsd-hackers@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 79CD016A400; Mon, 22 Jan 2007 08:59:47 +0000 (UTC) (envelope-from gemini@geminix.org) Received: from geminix.org (geminix.org [213.73.82.81]) by mx1.freebsd.org (Postfix) with ESMTP id 3B8E513C457; Mon, 22 Jan 2007 08:59:47 +0000 (UTC) (envelope-from gemini@geminix.org) Message-ID: <45B47291.1000102@geminix.org> Date: Mon, 22 Jan 2007 09:15:13 +0100 From: Uwe Doering Organization: Private UNIX Site User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.0.9) Gecko/20061231 SeaMonkey/1.0.7 MIME-Version: 1.0 To: Steve Watt References: <200701020825.l028PMBK034571@wattres.watt.com> <200701200918.l0K9Igbn002427@wattres.watt.com> In-Reply-To: <200701200918.l0K9Igbn002427@wattres.watt.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Received: from gemini by geminix.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.63 (FreeBSD)) (envelope-from ) id 1H8uKf-000KBq-P0; Mon, 22 Jan 2007 09:59:46 +0100 Cc: hackers@freebsd.org, andre@freebsd.org, julian@elischer.org Subject: Re: Interesting TCP issue X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Jan 2007 08:59:47 -0000 Steve Watt wrote: > In <459AD141.5010502@elischer.org>, Julian Elischer wrote: > > [ Snip discussion of symptoms of window scaling broken when > talking to at least the skype mail servers. ] > >> we have seen this since 4.x >> I think a fix may be in 7.0 but I'm not sure.. >> I thin kthere is a problem when the far end sets the window down to 1 >> but scales it by a factor of 2^{big number}. >> >> Andre, can you check out this problem and MFC the correct fix >> if it is indeed the same problem in 6.2? > > It is the same problem; I took the (one-line) fix as indicated by > >> http://cvs.ironport.com/cgi-bin/viewcvs.cgi/freebsd/src/sys/netinet/tcp_syncache.c.diff?r1=1.84&r2=1.85 > > (well, not cvs.ironport.com, which doesn't seem to exist at the moment), > and applied the diff from 1.84 to > 1.85 and to a 6.2-PRERELEASE box updated around 25 Dec 06. > It works like a charm. > > I would vote to MFC 1.85 now that 6.2 is out. > > The diff, for those who are following along at home, is: > > =================================================================== > RCS file: /usr/local/www/cvsroot/FreeBSD/src/sys/netinet/tcp_syncache.c,v > retrieving revision 1.84 > retrieving revision 1.85 > diff -u -p -r1.84 -r1.85 > --- src/sys/netinet/tcp_syncache.c 2006/02/09 21:29:02 1.84 > +++ src/sys/netinet/tcp_syncache.c 2006/02/28 23:05:59 1.85 > @@ -682,7 +682,7 @@ syncache_socket(sc, lso, m) > tp->t_flags |= TF_NOOPT; > if (sc->sc_flags & SCF_WINSCALE) { > tp->t_flags |= TF_REQ_SCALE|TF_RCVD_SCALE; > - tp->requested_s_scale = sc->sc_requested_s_scale; > + tp->snd_scale = sc->sc_requested_s_scale; > tp->request_r_scale = sc->sc_request_r_scale; > } > if (sc->sc_flags & SCF_TIMESTAMP) { I wonder whether it is that easy. As far as I can tell the commit to HEAD actually comprised changes to three files: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/tcp_input.c.diff?r1=1.290&r2=1.291 http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/tcp_syncache.c.diff?r1=1.84&r2=1.85 http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/tcp_var.h.diff?r1=1.127&r2=1.128 How about the modifications in 'tcp_input.c'? Are they relevant to the problem this thread is about? If so, assessing the correctness of an MFC might prove to be a little harder. Uwe -- Uwe Doering | EscapeBox - Managed On-Demand UNIX Servers gemini@geminix.org | http://www.escapebox.net