]> git.baikalelectronics.ru Git - kernel.git/commitdiff
vxlan: add NETIF_F_FRAGLIST flag for dev features
authorXin Long <lucien.xin@gmail.com>
Fri, 15 Jan 2021 09:47:45 +0000 (17:47 +0800)
committerJakub Kicinski <kuba@kernel.org>
Tue, 19 Jan 2021 03:57:02 +0000 (19:57 -0800)
Some protocol HW GSO requires fraglist supported by the device, like
SCTP. Without NETIF_F_FRAGLIST set in the dev features of vxlan, it
would have to do SW GSO before the packets enter the driver, even
when the vxlan dev and lower dev (like veth) both have the feature
of NETIF_F_GSO_SCTP.

So this patch is to add it for vxlan.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/vxlan.c

index b9364433de8f99f85e82943b126f1947ab2202f8..3929e437382b919ae4bd20bdaef7ba77d2dfc842 100644 (file)
@@ -3283,12 +3283,13 @@ static void vxlan_setup(struct net_device *dev)
        SET_NETDEV_DEVTYPE(dev, &vxlan_type);
 
        dev->features   |= NETIF_F_LLTX;
-       dev->features   |= NETIF_F_SG | NETIF_F_HW_CSUM;
+       dev->features   |= NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_FRAGLIST;
        dev->features   |= NETIF_F_RXCSUM;
        dev->features   |= NETIF_F_GSO_SOFTWARE;
 
        dev->vlan_features = dev->features;
-       dev->hw_features |= NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_RXCSUM;
+       dev->hw_features |= NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_FRAGLIST;
+       dev->hw_features |= NETIF_F_RXCSUM;
        dev->hw_features |= NETIF_F_GSO_SOFTWARE;
        netif_keep_dst(dev);
        dev->priv_flags |= IFF_NO_QUEUE;