This change ensures that the new multicast active state variable is
immediately unset if our internal IGMP/MLD querier was elected and
now disabled.

If no IGMP/MLD querier exists on the link then we can't reliably receive
IGMP/MLD reports and in turn can't ensure the completeness of our MDB
anymore either.

No functional change for the fast/data path yet. This is the last
necessary check before using the new multicast active state variable
in the fast/data path, too.

Signed-off-by: Linus Lüssing <[email protected]>
---
 net/bridge/br_multicast.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index a1cde2ba2a3e..2710c21daef5 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -4914,6 +4914,7 @@ int br_multicast_set_querier(struct net_bridge_mcast 
*brmctx, unsigned long val)
 #endif
 
 unlock:
+       br_multicast_update_active(brmctx);
        spin_unlock_bh(&brmctx->br->multicast_lock);
 
        return 0;
-- 
2.51.0


Reply via email to