net: Add support for IP ID mangling TSO in cases that require encapsulation
authorAlexander Duyck <aduyck@mirantis.com>
Wed, 20 Apr 2016 20:51:00 +0000 (16:51 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 21 Apr 2016 19:11:07 +0000 (15:11 -0400)
This patch adds support for NETIF_F_TSO_MANGLEID if a given tunnel supports
NETIF_F_TSO.  This way if needed a device can then later enable the TSO
with IP ID mangling and the tunnels on top of that device can then also
make use of the IP ID mangling as well.

Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c

index 52d446b2cb999be147c65d31341f804de8184a3e..6324bc9267f713ca45f435cd4d136c266db35901 100644 (file)
@@ -7029,8 +7029,19 @@ int register_netdevice(struct net_device *dev)
        if (!(dev->flags & IFF_LOOPBACK))
                dev->hw_features |= NETIF_F_NOCACHE_COPY;
 
+       /* If IPv4 TCP segmentation offload is supported we should also
+        * allow the device to enable segmenting the frame with the option
+        * of ignoring a static IP ID value.  This doesn't enable the
+        * feature itself but allows the user to enable it later.
+        */
        if (dev->hw_features & NETIF_F_TSO)
                dev->hw_features |= NETIF_F_TSO_MANGLEID;
+       if (dev->vlan_features & NETIF_F_TSO)
+               dev->vlan_features |= NETIF_F_TSO_MANGLEID;
+       if (dev->mpls_features & NETIF_F_TSO)
+               dev->mpls_features |= NETIF_F_TSO_MANGLEID;
+       if (dev->hw_enc_features & NETIF_F_TSO)
+               dev->hw_enc_features |= NETIF_F_TSO_MANGLEID;
 
        /* Make NETIF_F_HIGHDMA inheritable to VLAN devices.
         */
This page took 0.030106 seconds and 5 git commands to generate.