Re: [RFC net-next] udp: add a GSO type for UDPv6

From: tanhuazhong
Date: Wed Sep 02 2020 - 21:25:50 EST




On 2020/9/2 22:33, Willem de Bruijn wrote:
On Wed, Sep 2, 2020 at 2:18 PM Huazhong Tan <tanhuazhong@xxxxxxxxxx> wrote:

In some cases, for UDP GSO, UDPv4 and UDPv6 need to be handled
separately, for example, checksum offload, so add new GSO type
SKB_GSO_UDPV6_L4 for UDPv6, and the old SKB_GSO_UDP_L4 stands
for UDPv4.

This is in preparation for hardware you have that actually cares about
this distinction, I guess?


it is mainly for separating checksum offload of IPv4 and IPv6 right now.
with this patch, the user can switch checksum offload of IPv4 and not
affect IPv6's, vice versa.


diff --git a/include/linux/netdev_features.h b/include/linux/netdev_features.h
index 2cc3cf8..b7c1a76 100644
--- a/include/linux/netdev_features.h
+++ b/include/linux/netdev_features.h
@@ -54,6 +54,7 @@ enum {
NETIF_F_GSO_UDP_BIT, /* ... UFO, deprecated except tuntap */
NETIF_F_GSO_UDP_L4_BIT, /* ... UDP payload GSO (not UFO) */
NETIF_F_GSO_FRAGLIST_BIT, /* ... Fraglist GSO */
+ NETIF_F_GSO_UDPV6_L4_BIT, /* ... UDPv6 payload GSO (not UFO) */
/**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */
NETIF_F_GSO_FRAGLIST_BIT,

Need to update NETIF_F_GSO_LAST then, too.

ok, thanks.