linux/net/bridge
Petr Machata d9e9f6d7b7 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>
2025-02-05 17:50:03 -08:00
..
netfilter netfilter: nf_tables: replace deprecated strncpy with strscpy_pad 2024-10-15 17:29:51 +02:00
br_arp_nd_proxy.c bridge: Make br_is_nd_neigh_msg() accept pointer to "const struct sk_buff" 2025-01-07 15:13:10 +01:00
br_cfm_netlink.c bridge: cfm: fix enum typo in br_cc_ccm_tx_parse 2023-12-26 22:38:13 +00:00
br_cfm.c
br_device.c netpoll: remove ndo_netpoll_setup() second argument 2024-10-23 13:31:32 +02:00
br_fdb.c rtnetlink: add ndo_fdb_dump_context 2024-12-10 18:32:32 -08:00
br_forward.c net: bridge: add skb drop reasons to the most common drop points 2024-12-23 10:11:04 -08:00
br_if.c
br_input.c net: bridge: add skb drop reasons to the most common drop points 2024-12-23 10:11:04 -08:00
br_ioctl.c
br_mdb.c bridge: mdb: Allow replace of a host-joined group 2025-02-05 17:50:03 -08:00
br_mrp_netlink.c
br_mrp_switchdev.c
br_mrp.c
br_mst.c net: bridge: mst: fix suspicious rcu usage in br_mst_set_state 2024-06-12 18:24:24 -07:00
br_multicast_eht.c
br_multicast.c net: bridge: mcast: wait for previous gc cycles when removing port 2024-08-05 16:33:56 -07:00
br_netfilter_hooks.c netfilter: br_netfilter: remove unused conditional and dead code 2025-01-19 16:41:52 +01:00
br_netfilter_ipv6.c netfilter: bridge: replace physindev with physinif in nf_bridge_info 2024-01-17 12:02:49 +01:00
br_netlink_tunnel.c net: bridge: fix an inconsistent indentation 2024-06-05 10:04:47 +01:00
br_netlink.c rtnetlink: Return int from rtnl_af_register(). 2024-10-22 11:02:05 +02:00
br_nf_core.c
br_private_cfm.h
br_private_mcast_eht.h
br_private_mrp.h
br_private_stp.h
br_private_tunnel.h
br_private.h bridge: Make br_is_nd_neigh_msg() accept pointer to "const struct sk_buff" 2025-01-07 15:13:10 +01:00
br_stp_bpdu.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
br_stp_if.c
br_stp_timer.c
br_stp.c
br_switchdev.c net: bridge: switchdev: Ensure deferred event delivery on unoffload 2024-02-16 09:36:37 +00:00
br_sysfs_br.c net: bridge: constify 'struct bin_attribute' 2024-12-17 19:00:43 -08:00
br_sysfs_if.c
br_vlan_options.c
br_vlan_tunnel.c ip_tunnel: convert __be16 tunnel flags to bitmaps 2024-04-01 10:49:28 +01:00
br_vlan.c net: bridge: Handle changes in VLAN_FLAG_BRIDGE_BINDING 2024-12-20 13:14:17 -08:00
br.c net: bridge: Handle changes in VLAN_FLAG_BRIDGE_BINDING 2024-12-20 13:14:17 -08:00
Kconfig
Makefile