[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1432305940.28081.3.camel@stressinduktion.org>
Date: Fri, 22 May 2015 16:45:40 +0200
From: Hannes Frederic Sowa <hannes@...essinduktion.org>
To: Florian Westphal <fw@...len.de>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH -next 2/2] ip_fragment: don't forward defragmented DF
packet
On Fr, 2015-05-22 at 16:32 +0200, Florian Westphal wrote:
> We currently always send fragments without DF bit set.
>
> Thus, given following setup:
>
> mtu1500 - mtu1500:1400 - mtu1400:1280 - mtu1280
> A R1 R2 B
>
> Where R1 and R2 run linux with netfilter defragmentation/conntrack
> enabled, then if Host A sent a fragmented packet _with_ DF set to B, R1
> will respond with icmp too big error if one of these fragments exceeded
> 1400 bytes.
>
> However, if R1 receives fragment sizes 1200 and 100, it would
> forward the reassembled packet without refragmenting, i.e.
> R2 will send an icmp error in response to a packet that was never sent,
> citing mtu that the original sender never exceeded.
>
> The other minor issue is that a refragmentation on R1 will conceal the
> MTU of R2-B since refragmentation does not set DF bit on the fragments.
>
> This modifies ip_fragment so that we track largest fragment size seen
> both for DF and non-DF packets, and set frag_max_size to the largest
> value.
>
> If the DF fragment size is larger or equal to the non-df one, we will
> consider the packet a path mtu probe:
> We set DF bit on the reassembled skb and also tag it with a new IPCB flag
> to force refragmentation even if skb fits outdev mtu.
>
> We will also set DF bit on each fragment in this case.
>
> Joint work with Hannes Frederic Sowa.
>
> Reported-by: Jesse Gross <jesse@...ira.com>
> Signed-off-by: Florian Westphal <fw@...len.de>
And also:
Acked-by: Hannes Frederic Sowa <hannes@...essinduktion.org>
Thanks,
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