[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260208161010.GI154003@shredder>
Date: Sun, 8 Feb 2026 18:10:10 +0200
From: Ido Schimmel <idosch@...dia.com>
To: Linus Lüssing <linus.luessing@...3.blue>
Cc: bridge@...ts.linux.dev, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org,
Nikolay Aleksandrov <razor@...ckwall.org>,
Andrew Lunn <andrew+netdev@...n.ch>,
Simon Horman <horms@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Jakub Kicinski <kuba@...nel.org>,
Eric Dumazet <edumazet@...gle.com>,
"David S . Miller" <davem@...emloft.net>,
Kuniyuki Iwashima <kuniyu@...gle.com>,
Stanislav Fomichev <sdf@...ichev.me>,
Xiao Liang <shaw.leon@...il.com>
Subject: Re: [PATCH net-next v2 09/14] net: bridge: mcast: track active
state, VLAN snooping
On Fri, Feb 06, 2026 at 03:52:15AM +0100, Linus Lüssing wrote:
> If VLAN aware multicast snooping is enabled then we need to perform a
> few extra checks to figure out if multicast snooping is actually enabled
> for a specific VLAN, as there is then an additional per VLAN multicast
> snooping toggle.
>
> Signed-off-by: Linus Lüssing <linus.luessing@...3.blue>
> ---
> net/bridge/br_multicast.c | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
> index 4bdc3838c3dc..2a2f54009e0f 100644
> --- a/net/bridge/br_multicast.c
> +++ b/net/bridge/br_multicast.c
> @@ -1143,6 +1143,26 @@ static void br_multicast_update_active(struct net_bridge_mcast *brmctx)
> if (!br_opt_get(brmctx->br, BROPT_MULTICAST_ENABLED))
> force_inactive = true;
Once you set 'force_inactive' the other checks become redundant, maybe
just jump to br_ip{4,6}_multicast_update_active()?
>
> + if (br_opt_get(brmctx->br, BROPT_MCAST_VLAN_SNOOPING_ENABLED)) {
> + /* with per-vlan snooping enabled there is an extra per-vlan
> + * toggle to enable/disable snooping which we must check
> + */
> + if (br_multicast_ctx_vlan_global_disabled(brmctx))
> + force_inactive = true;
> +
> + /* with per-vlan snooping enabled the non-vlan multicast
> + * snooping context is inactive
> + */
> + if (!br_multicast_ctx_is_vlan(brmctx))
> + force_inactive = true;
> + } else {
> + /* with per-vlan snooping disabled a vlan multicast
> + * snooping context is inactive
> + */
> + if (br_multicast_ctx_is_vlan(brmctx))
> + force_inactive = true;
> + }
> +
> br_ip4_multicast_update_active(brmctx, force_inactive);
> br_ip6_multicast_update_active(brmctx, force_inactive);
>
> --
> 2.51.0
>
Powered by blists - more mailing lists