summaryrefslogtreecommitdiffstats
path: root/drivers/net/team
diff options
context:
space:
mode:
authorJiri Pirko <jiri@resnulli.us>2012-08-23 03:26:53 +0000
committerDavid S. Miller <davem@davemloft.net>2012-08-24 13:46:40 -0400
commit2c33bb37cb69dc6d86d2ee8edd1d4814990a65fe (patch)
treee734cb62596529ce5ffaed7e07ba57c1ebce1be3 /drivers/net/team
parent9b361c13ceeae872161175d39f4798ee345ed10c (diff)
downloadlinux-2c33bb37cb69dc6d86d2ee8edd1d4814990a65fe.tar.bz2
team: do not allow to add VLAN challenged port when vlan is used
Reported-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/team')
-rw-r--r--drivers/net/team/team.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
index a5926c8584aa..b4f67b55ef79 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -989,6 +989,13 @@ static int team_port_add(struct team *team, struct net_device *port_dev)
return -EBUSY;
}
+ if (port_dev->features & NETIF_F_VLAN_CHALLENGED &&
+ vlan_uses_dev(dev)) {
+ netdev_err(dev, "Device %s is VLAN challenged and team device has VLAN set up\n",
+ portname);
+ return -EPERM;
+ }
+
err = team_dev_type_check_change(dev, port_dev);
if (err)
return err;