Skip to content

Commit

Permalink
net: bridge: mst: Add helper to check if MST is enabled
Browse files Browse the repository at this point in the history
This is useful for switchdev drivers that might want to refuse to join
a bridge where MST is enabled, if the hardware can't support it.

Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
Tobias Waldekranz authored and Jakub Kicinski committed Mar 17, 2022
1 parent cceac97 commit 48d57b2
Showing 2 changed files with 15 additions and 0 deletions.
6 changes: 6 additions & 0 deletions include/linux/if_bridge.h
Original file line number Diff line number Diff line change
@@ -119,6 +119,7 @@ int br_vlan_get_info(const struct net_device *dev, u16 vid,
struct bridge_vlan_info *p_vinfo);
int br_vlan_get_info_rcu(const struct net_device *dev, u16 vid,
struct bridge_vlan_info *p_vinfo);
bool br_mst_enabled(const struct net_device *dev);
int br_mst_get_info(const struct net_device *dev, u16 msti, unsigned long *vids);
#else
static inline bool br_vlan_enabled(const struct net_device *dev)
@@ -153,6 +154,11 @@ static inline int br_vlan_get_info_rcu(const struct net_device *dev, u16 vid,
return -EINVAL;
}

static inline bool br_mst_enabled(const struct net_device *dev)
{
return false;
}

static inline int br_mst_get_info(const struct net_device *dev, u16 msti,
unsigned long *vids)
{
9 changes: 9 additions & 0 deletions net/bridge/br_mst.c
Original file line number Diff line number Diff line change
@@ -13,6 +13,15 @@

DEFINE_STATIC_KEY_FALSE(br_mst_used);

bool br_mst_enabled(const struct net_device *dev)
{
if (!netif_is_bridge_master(dev))
return false;

return br_opt_get(netdev_priv(dev), BROPT_MST_ENABLED);
}
EXPORT_SYMBOL_GPL(br_mst_enabled);

int br_mst_get_info(const struct net_device *dev, u16 msti, unsigned long *vids)
{
const struct net_bridge_vlan_group *vg;

0 comments on commit 48d57b2

Please sign in to comment.