summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAriel Levkovich <lariel@mellanox.com>2019-06-04 01:36:47 +0300
committerDavid S. Miller <davem@davemloft.net>2019-06-05 00:49:38 +0300
commit8b6912a5019356d7adb1b8a146c9eef5e679bf98 (patch)
tree32be9c902f0e31278dba8f4960ad9a9330d3b331
parent2e770b507ccde8eedc129946e4b78ceed0a22df2 (diff)
downloadlinux-8b6912a5019356d7adb1b8a146c9eef5e679bf98.tar.xz
net: vlan: Inherit MPLS features from parent device
During the creation of the VLAN interface net device, the various device features and offloads are being set based on the parent device's features. The code initiates the basic, vlan and encapsulation features but doesn't address the MPLS features set and they remain blank. As a result, all device offloads that have significant performance effect are disabled for MPLS traffic going via this VLAN device such as checksumming and TSO. This patch makes sure that MPLS features are also set for the VLAN device based on the parent which will allow HW offloads of checksumming and TSO to be performed on MPLS tagged packets. Signed-off-by: Ariel Levkovich <lariel@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/8021q/vlan_dev.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
index c546c4228075..4042047d5558 100644
--- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c
@@ -585,6 +585,7 @@ static int vlan_dev_init(struct net_device *dev)
dev->vlan_features = real_dev->vlan_features & ~NETIF_F_ALL_FCOE;
dev->hw_enc_features = vlan_tnl_features(real_dev);
+ dev->mpls_features = real_dev->mpls_features;
/* ipv6 shared card related stuff */
dev->dev_id = real_dev->dev_id;