From owner-freebsd-net@FreeBSD.ORG Tue Aug 21 14:50:49 2007 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 C90D616A418 for ; Tue, 21 Aug 2007 14:50:49 +0000 (UTC) (envelope-from dhartmei@insomnia.benzedrine.cx) Received: from insomnia.benzedrine.cx (insomnia.benzedrine.cx [IPv6:2001:6f8:1098::2]) by mx1.freebsd.org (Postfix) with ESMTP id 4636F13C480 for ; Tue, 21 Aug 2007 14:50:49 +0000 (UTC) (envelope-from dhartmei@insomnia.benzedrine.cx) Received: from insomnia.benzedrine.cx (localhost.benzedrine.cx [127.0.0.1]) by insomnia.benzedrine.cx (8.14.1/8.13.4) with ESMTP id l7LEolxD021456 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES256-SHA bits=256 verify=NO); Tue, 21 Aug 2007 16:50:48 +0200 (MEST) Received: (from dhartmei@localhost) by insomnia.benzedrine.cx (8.14.1/8.12.10/Submit) id l7LEolQn026257; Tue, 21 Aug 2007 16:50:47 +0200 (MEST) Date: Tue, 21 Aug 2007 16:50:47 +0200 From: Daniel Hartmeier To: Jacek Zapala Message-ID: <20070821145047.GC32421@insomnia.benzedrine.cx> References: <200708211010.l7LAA6V7082258@freefall.freebsd.org> <20070821121118.GF27160@insomnia.benzedrine.cx> <1187703472.22531.4.camel@localhost.localdomain> <20070821135048.GA32421@insomnia.benzedrine.cx> <1187705811.30269.5.camel@localhost.localdomain> <20070821143125.GB32421@insomnia.benzedrine.cx> <1187707117.846.3.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1187707117.846.3.camel@localhost.localdomain> User-Agent: Mutt/1.5.12-2006-07-14 Cc: freebsd-net@freebsd.org Subject: Re: kern/115413: [ipv6] ipv6 pmtu not working 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: Tue, 21 Aug 2007 14:50:49 -0000 Could you possibly try the patch below, and see if it fixes the problem (with rfc1323 enabled again)? We're accessing th_flags from the TCP header embedded in the ICMPv6 packet, even though we only pulled up the first 8 bytes of the mbuf, because the sender doesn't have to provide more of the header. There could be random garbage there, and the bit corresponding to TH_SYN might be set, so the window scale factor is not applied. Not sure if that would be reproducable so reliably, but it sure is a bug ;) Daniel Index: pf.c =================================================================== RCS file: /cvs/freebsd/src/sys/contrib/pf/net/pf.c,v retrieving revision 1.34.2.4 diff -u -r1.34.2.4 pf.c --- pf.c 19 Sep 2006 15:45:20 -0000 1.34.2.4 +++ pf.c 21 Aug 2007 14:42:59 -0000 @@ -5118,8 +5118,7 @@ dst = &(*state)->dst; } - if (src->wscale && dst->wscale && - !(th.th_flags & TH_SYN)) + if (src->wscale && dst->wscale) dws = dst->wscale & PF_WSCALE_MASK; else dws = 0;