net: bridge: Extend br_vlan_get_pvid() for bridge ports

Currently, the function only works for the bridge device itself, but
subsequent patches will need to be able to query the PVID of a given
bridge port, so extend the function.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reviewed-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ido Schimmel 2018-11-28 20:06:58 +00:00 коммит произвёл David S. Miller
Родитель 734317d93e
Коммит 5a6db04ca8
1 изменённых файлов: 5 добавлений и 1 удалений

Просмотреть файл

@ -1217,9 +1217,13 @@ void br_vlan_get_stats(const struct net_bridge_vlan *v,
int br_vlan_get_pvid(const struct net_device *dev, u16 *p_pvid) int br_vlan_get_pvid(const struct net_device *dev, u16 *p_pvid)
{ {
struct net_bridge_vlan_group *vg; struct net_bridge_vlan_group *vg;
struct net_bridge_port *p;
ASSERT_RTNL(); ASSERT_RTNL();
if (netif_is_bridge_master(dev)) 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)); vg = br_vlan_group(netdev_priv(dev));
else else
return -EINVAL; return -EINVAL;