Re: [PATCH RFC 11/12] net: Remove all references to SKB_GSO_UDP.
From: David Miller <davem@davemloft.net>
Date: 2017-07-07 09:47:05
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com> Date: Thu, 6 Jul 2017 13:57:20 -0400
On Thu, Jul 6, 2017 at 10:43 AM, David Miller [off-list ref] wrote:quoted
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com> Date: Wed, 5 Jul 2017 12:27:11 -0400quoted
quoted
quoted
--- a/net/ipv4/udp_offload.c +++ b/net/ipv4/udp_offload.c@@ -21,7 +21,7 @@ static struct sk_buff *__skb_udp_tunnel_segment(struct sk_buff *skb, __be16 new_protocol, bool is_ipv6)In this file, can now remove all of udp4_ufo_fragment, and udp6_ufo_fragment in net/ipv6.I had missed that this is used for tunneling with skb_udp_tunnel_segment. But the core codepath should no longer be hit once SKB_GSO_UDP is removed.Are you sure? I'm pretty sure all of the code remaining after my patch series is needed in order to handle doing TCP GRO through UDP tunneling encapsulation. Although the word "fragment" is in the function name, it's not doing IP fragmentation. Instead, it is "fragmenting" the batched UDP encapsulated frame into a series of individual UDP encapsulated ones.Isn't that case handled in the branch if (skb->encapsulation && (skb_shinfo(skb)->gso_type & (SKB_GSO_UDP_TUNNEL|SKB_GSO_UDP_TUNNEL_CSUM))) { segs = skb_udp_tunnel_segment(skb, features, false); goto out; } It appears to be in a quick test I ran with FOU.
You are correct, I respun the series with that code removed. Thanks!