[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140225.182746.1170300275583266483.davem@davemloft.net>
Date: Tue, 25 Feb 2014 18:27:46 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: hannes@...essinduktion.org
Cc: xiyou.wangcong@...il.com, linux@...m.de, netdev@...r.kernel.org,
eric.dumazet@...il.com, therbert@...gle.com
Subject: Re: [PATCH net v3] ipv4: ipv6: better estimate tunnel header cut
for correct ufo handling
From: Hannes Frederic Sowa <hannes@...essinduktion.org>
Date: Mon, 24 Feb 2014 00:48:05 +0100
> Currently the UFO fragmentation process does not correctly handle inner
> UDP frames.
...
> In this case fragmentation id is incremented and offset is not updated.
>
> First, I aligned inet_gso_segment and ipv6_gso_segment:
> * align naming of flags
> * ipv6_gso_segment: setting skb->encapsulation is unnecessary, as we
> always ensure that the state of this flag is left untouched when
> returning from upper gso segmenation function
> * ipv6_gso_segment: move skb_reset_inner_headers below updating the
> fragmentation header data, we don't care for updating fragmentation
> header data
> * remove currently unneeded comment indicating skb->encapsulation might
> get changed by upper gso_segment callback (gre and udp-tunnel reset
> encapsulation after segmentation on each fragment)
>
> If we encounter an IPIP or SIT gso skb we now check for the protocol ==
> IPPROTO_UDP and that we at least have already traversed another ip(6)
> protocol header.
>
> The reason why we have to special case GSO_IPIP and GSO_SIT is that
> we reset skb->encapsulation to 0 while skb_mac_gso_segment the inner
> protocol of GSO_UDP_TUNNEL or GSO_GRE packets.
>
> Reported-by: Wolfgang Walter <linux@...m.de>
> Cc: Cong Wang <xiyou.wangcong@...il.com>
> Cc: Tom Herbert <therbert@...gle.com>
> Cc: Eric Dumazet <eric.dumazet@...il.com>
> Signed-off-by: Hannes Frederic Sowa <hannes@...essinduktion.org>
Applied, 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