Date: Tue, 21 Aug 2007 16:50:47 +0200 From: Daniel Hartmeier <daniel@benzedrine.cx> To: Jacek Zapala <jacek@ipv6.jacek.it.pl> Cc: freebsd-net@freebsd.org Subject: Re: kern/115413: [ipv6] ipv6 pmtu not working Message-ID: <20070821145047.GC32421@insomnia.benzedrine.cx> In-Reply-To: <1187707117.846.3.camel@localhost.localdomain> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070821145047.GC32421>