lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 14 Jun 2019 16:53:46 -0400
From:   Jason Baron <jbaron@...mai.com>
To:     Willem de Bruijn <willemdebruijn.kernel@...il.com>
Cc:     Alexander Duyck <alexander.duyck@...il.com>,
        David Miller <davem@...emloft.net>,
        Netdev <netdev@...r.kernel.org>, Joshua Hunt <johunt@...mai.com>,
        Willem de Bruijn <willemb@...gle.com>,
        Paolo Abeni <pabeni@...hat.com>
Subject: Re: [PATCH net-next] gso: enable udp gso for virtual devices



On 6/13/19 5:20 PM, Willem de Bruijn wrote:
>>>> @@ -237,6 +237,7 @@ static inline int find_next_netdev_feature(u64 feature, unsigned long start)
>>>>                                  NETIF_F_GSO_GRE_CSUM |                 \
>>>>                                  NETIF_F_GSO_IPXIP4 |                   \
>>>>                                  NETIF_F_GSO_IPXIP6 |                   \
>>>> +                                NETIF_F_GSO_UDP_L4 |                   \
>>>>                                  NETIF_F_GSO_UDP_TUNNEL |               \
>>>>                                  NETIF_F_GSO_UDP_TUNNEL_CSUM)
>>>
>>> Are you adding this to NETIF_F_GSO_ENCAP_ALL? Wouldn't it make more
>>> sense to add it to NETIF_F_GSO_SOFTWARE?
>>>
>>
>> Yes, I'm adding to NETIF_F_GSO_ENCAP_ALL (not very clear from the
>> context). I will fix the commit log.
>>
>> In: 83aa025 udp: add gso support to virtual devices, the support was
>> also added to NETIF_F_GSO_ENCAP_ALL (although subsequently reverted due
>> to UDP GRO not being in place), so I wonder what the reason was for that?
> 
> That was probably just a bad choice on my part.
> 
> It worked in practice, but if NETIF_F_GSO_SOFTWARE works the same
> without unexpected side effects, then I agree that it is the better choice.
> 
> That choice does appear to change behavior when sending over tunnel
> devices. Might it send tunneled GSO packets over loopback?
> 
> 

I set up a test case using fou tunneling through a bridge device using
the udpgso_bench_tx test where packets are not received correctly if
NETIF_F_GSO_UDP_L4 is added to NETIF_F_GSO_SOFTWARE. If I have it added
to NETIF_F_GSO_ENCAP_ALL, it does work correctly. So there are more
fixes required to include it in NETIF_F_GSO_SOFTWARE.

The use-case I have only requires it to be in NETIF_F_GSO_ENCAP_ALL, but
if it needs to go in NETIF_F_GSO_SOFTWARE, I can look at what's required
more next week.

Thanks,

-Jason

> 
>> I agree that NETIF_F_GSO_SOFTWARE seems conceptually more logical and
>> further I think it adds support for more 'virtual' devices. For example,
>> I tested loopback with NETIF_F_GSO_UDP_L4 being added to
>> NETIF_F_GSO_SOFTWARE and it shows a nice performance gain, whereas
>> NETIF_F_GSO_ENCAP_ALL isn't included for loopback.
>>
>> Thanks,
>>
>> -Jason

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ