On Fri, May 22, 2015, at 21:03, David Miller wrote: > From: Florian Westphal <f...@strlen.de> > Date: Fri, 22 May 2015 16:32:49 +0200 > > > IP (ttl 64, id 12345, offset 0, flags [+, DF], proto UDP (17), length 1204) > > 192.168.7.1.42 > 10.23.42.2.42: UDP, length 1400 > > IP (ttl 64, id 12345, offset 1184, flags [DF], proto UDP (17), length 244) > > 192.168.7.1 > 10.23.42.2: ip-proto-17 > > I almost consider a fragment with DF set an oxymoron. > > How does this happen? > > DF is a mechanism for PMTU discovery. Therefore it is the end nodes > which set DF on packets before fragmentation can even take place. > Since DF is set initially, the logical consequence is that the packet > cannot be legally fragmented along the way. > > Are tunnels doing something to create this situation?
Hmm, interesting... I think openvswitch still has this behavior that it always sets ignore_df but DF bit control is up to user space. Another situation where this can arise if a local socket with ip_sk_ignore_df(sk) = 1 (we keep socket reference as long as possible ;) ) sends packets into a tunnel, like gre, where pmtudisc is enabled. It should also look like those packets. This is because we don't clear ignore_df during passing down the skb. Bye, Hannes -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html