net: bridge: Allow bridge master in br_vlan_get_info()
authorPetr Machata <petrm@mellanox.com>
Thu, 10 May 2018 10:13:03 +0000 (13:13 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 10 May 2018 21:50:51 +0000 (17:50 -0400)
Mirroring offload in mlxsw needs to check that a given VLAN is allowed
to ingress the bridge device. br_vlan_get_info() is the function that is
used for this, however currently it only supports bridge port devices.
Extend it to support bridge masters as well.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Acked-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_vlan.c

index df37a5137c25450e18c16d255236a0e6d4b8140c..dc832c0934c6cf65799296dc401f640a389fdd79 100644 (file)
@@ -1176,6 +1176,8 @@ int br_vlan_get_info(const struct net_device *dev, u16 vid,
        p = br_port_get_check_rtnl(dev);
        if (p)
                vg = nbp_vlan_group(p);
+       else if (netif_is_bridge_master(dev))
+               vg = br_vlan_group(netdev_priv(dev));
        else
                return -EINVAL;