diff options
author | Nikolay Aleksandrov <nikolay@nvidia.com> | 2021-08-10 18:29:30 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-08-11 13:34:41 +0100 |
commit | 62938182c35906c0ed4beb7845b93b8ffb937597 (patch) | |
tree | d1fd7bbacb3ad3c9c279d88fac32a01710cfafac /net/bridge/br_multicast.c | |
parent | cb486ce99576741a84c75623daeffb2f7758cbf9 (diff) | |
download | linux-62938182c35906c0ed4beb7845b93b8ffb937597.tar.gz linux-62938182c35906c0ed4beb7845b93b8ffb937597.tar.bz2 linux-62938182c35906c0ed4beb7845b93b8ffb937597.zip |
net: bridge: vlan: add support for mcast querier global option
Add support to change and retrieve global vlan multicast querier state.
We just need to pass multicast context to br_multicast_set_querier
instead of bridge device and the rest of the logic remains the same.
Signed-off-by: Nikolay Aleksandrov <nikolay@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_multicast.c')
-rw-r--r-- | net/bridge/br_multicast.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index f30c2e5d3142..a780ad8aca37 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -4297,14 +4297,13 @@ bool br_multicast_router(const struct net_device *dev) } EXPORT_SYMBOL_GPL(br_multicast_router); -int br_multicast_set_querier(struct net_bridge *br, unsigned long val) +int br_multicast_set_querier(struct net_bridge_mcast *brmctx, unsigned long val) { - struct net_bridge_mcast *brmctx = &br->multicast_ctx; unsigned long max_delay; val = !!val; - spin_lock_bh(&br->multicast_lock); + spin_lock_bh(&brmctx->br->multicast_lock); if (brmctx->multicast_querier == val) goto unlock; @@ -4327,7 +4326,7 @@ int br_multicast_set_querier(struct net_bridge *br, unsigned long val) #endif unlock: - spin_unlock_bh(&br->multicast_lock); + spin_unlock_bh(&brmctx->br->multicast_lock); return 0; } |