[PATCH net-next v2 05/14] net: bridge: mcast: track active state, foreign IGMP/MLD querier disappearance

From: Linus Lüssing

Date: Thu Feb 05 2026 - 22:02:47 EST


This change ensures that the new multicast active state variable is unset
again after a foreign IGMP/MLD querier has disappeared (default: 255
seconds). If no new, other IGMP/MLD querier took over then we can't
reliably receive IGMP/MLD reports anymore and in turn can't ensure the
completeness of our MDB anymore either.

No functional change for the fast/data path yet.

Signed-off-by: Linus Lüssing <linus.luessing@xxxxxxxxx>
---
net/bridge/br_multicast.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index d5c623dce7eb..0fc29875db9c 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -1826,6 +1826,10 @@ static void br_multicast_querier_expired(struct net_bridge_mcast *brmctx,
br_multicast_start_querier(brmctx, query);

out:
+ /* another IGMP/MLD querier disappeared, set multicast state to inactive
+ * if our own querier is disabled, too
+ */
+ br_multicast_update_active(brmctx);
spin_unlock(&brmctx->br->multicast_lock);
}

--
2.51.0