From: Willem de Bruijn <willemdebruijn.ker...@gmail.com> Date: Wed, 5 Jul 2017 12:27:11 -0400
>>> --- 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.