kern/115413: [ipv6] ipv6 pmtu not working

Daniel Hartmeier daniel at benzedrine.cx
Tue Aug 21 07:50:49 PDT 2007


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;


More information about the freebsd-net mailing list