[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Fri, 07 Jul 2017 10:46:58 +0100 (WEST)
From: David Miller <davem@...emloft.net>
To: willemdebruijn.kernel@...il.com
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH RFC 11/12] net: Remove all references to SKB_GSO_UDP.
From: Willem de Bruijn <willemdebruijn.kernel@...il.com>
Date: Thu, 6 Jul 2017 13:57:20 -0400
> On Thu, Jul 6, 2017 at 10:43 AM, David Miller <davem@...emloft.net> wrote:
>> From: Willem de Bruijn <willemdebruijn.kernel@...il.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.
>
> 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!
Powered by blists - more mailing lists