path: root/net/8021q/vlan_dev.c
diff options
authorVlad Yasevich <vyasevic@redhat.com>2014-03-27 22:14:49 -0400
committerDavid S. Miller <davem@davemloft.net>2014-03-28 17:16:51 -0400
commit2adb956b084d6d49f519541a4b5f9947e96f8ef7 (patch)
tree1761471976beb97edab677ab211326b62a2809ad /net/8021q/vlan_dev.c
parent3f8c707b9a83cd956af65796081b6c8cb8716089 (diff)
vlan: Warn the user if lowerdev has bad vlan features.
Some drivers incorrectly assign vlan acceleration features to vlan_features thus causing issues for Q-in-Q vlan configurations. Warn the user of such cases. Signed-off-by: Vlad Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/8021q/vlan_dev.c')
1 files changed, 3 insertions, 0 deletions
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
index a9591ff2b678..27bfe2f8e2de 100644
--- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c
@@ -578,6 +578,9 @@ static int vlan_dev_init(struct net_device *dev)
dev->features |= real_dev->vlan_features | NETIF_F_LLTX;
dev->gso_max_size = real_dev->gso_max_size;
+ if (dev->features & NETIF_F_VLAN_FEATURES)
+ netdev_warn(real_dev, "VLAN features are set incorrectly. Q-in-Q configurations may not work correctly.\n");
/* ipv6 shared card related stuff */
dev->dev_id = real_dev->dev_id;