Re: [PATCH net 1/2] bridge: Check relevant per-VLAN options in VLAN range grouping

Nikolay Aleksandrov <[email protected]>
Newsgroups gmane.linux.network.bridge
Message-ID <aZswmWqzeZTkEFmO__34263.1455556088$1771778239$gmane$org@penguin>
On Sun, Feb 22, 2026 at 10:53:37AM +0200, Danielle Ratson wrote:
> The br_vlan_opts_eq_range() function determines if consecutive VLANs can
> be grouped together in a range for compact netlink notifications. It
> currently checks state, tunnel info, and multicast router configuration,
> but misses two categories of per-VLAN options that affect the output:
> 1. User-visible priv_flags (neigh_suppress, mcast_enabled)
> 2. Port multicast context (mcast_max_groups, mcast_n_groups)
> 
> When VLANs have different settings for these options, they are incorrectly
> grouped into ranges, causing netlink notifications to report only one
> VLAN's settings for the entire range.
> 
> Fix by checking priv_flags equality, but only for flags that affect netlink
> output (BR_VLFLAG_NEIGH_SUPPRESS_ENABLED and BR_VLFLAG_MCAST_ENABLED),
> and comparing multicast context (mcast_max_groups and mcast_n_groups).
> 
> Example showing the bugs before the fix:
> 
> $ bridge vlan set vid 10 dev dummy1 neigh_suppress on
> $ bridge vlan set vid 11 dev dummy1 neigh_suppress off
> $ bridge -d vlan show dev dummy1
>   port             vlan-id
>   dummy1           10-11
>                       ... neigh_suppress on
> 
> $ bridge vlan set vid 10 dev dummy1 mcast_max_groups 100
> $ bridge vlan set vid 11 dev dummy1 mcast_max_groups 200
> $ bridge -d vlan show dev dummy1
>   port             vlan-id
>   dummy1           10-11
>                       ... mcast_max_groups 100
> 
> After the fix, VLANs 10 and 11 are shown as separate entries with their
> correct individual settings.
> 
> Fixes: a1aee20d5db2 ("net: bridge: Add netlink knobs for number / maximum MDB entries")
> Fixes: 83f6d600796c ("bridge: vlan: Allow setting VLAN neighbor suppression state")
> Signed-off-by: Danielle Ratson <[email protected]>
> Reviewed-by: Ido Schimmel <[email protected]>
> ---
>  net/bridge/br_private.h      | 10 ++++++++++
>  net/bridge/br_vlan_options.c | 26 +++++++++++++++++++++++---
>  2 files changed, 33 insertions(+), 3 deletions(-)
> 
 
Acked-by: Nikolay Aleksandrov <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.