]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bridge: mdb: Allow replace of a host-joined group
authorPetr Machata <petrm@nvidia.com>
Tue, 4 Feb 2025 17:37:15 +0000 (18:37 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 6 Feb 2025 01:50:03 +0000 (17:50 -0800)
commitd9e9f6d7b7d0c520bb87f19d2cbc57aeeb2091d5
treef7da1122a9b544dc3d90c9a1ddbd5dfc570436a3
parentcbecd06a224962941f116e53f5673476ef6cd3f3
bridge: mdb: Allow replace of a host-joined group

Attempts to replace an MDB group membership of the host itself are
currently bounced:

 # ip link add name br up type bridge vlan_filtering 1
 # bridge mdb replace dev br port br grp 239.0.0.1 vid 2
 # bridge mdb replace dev br port br grp 239.0.0.1 vid 2
 Error: bridge: Group is already joined by host.

A similar operation done on a member port would succeed. Ignore the check
for replacement of host group memberships as well.

The bit of code that this enables is br_multicast_host_join(), which, for
already-joined groups only refreshes the MC group expiration timer, which
is desirable; and a userspace notification, also desirable.

Change a selftest that exercises this code path from expecting a rejection
to expecting a pass. The rest of MDB selftests pass without modification.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Link: https://patch.msgid.link/e5c5188b9787ae806609e7ca3aa2a0a501b9b5c4.1738685648.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/bridge/br_mdb.c
tools/testing/selftests/net/forwarding/bridge_mdb.sh