[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1432335124.3069974.276098697.5A39F0C2@webmail.messagingengine.com>
Date: Sat, 23 May 2015 00:52:04 +0200
From: Hannes Frederic Sowa <hannes@...essinduktion.org>
To: David Miller <davem@...emloft.net>, Florian Westphal <fw@...len.de>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH -next, V3 0/2] net: force refragmentation for DF reassembed
skbs
On Fri, May 22, 2015, at 21:03, David Miller wrote:
> From: Florian Westphal <fw@...len.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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists