linux-stable/net/bridge
Joseph Huang 7b0d423183 net: bridge: Do not offload IGMP/MLD messages
[ Upstream commit 683dc24da8 ]

Do not offload IGMP/MLD messages as it could lead to IGMP/MLD Reports
being unintentionally flooded to Hosts. Instead, let the bridge decide
where to send these IGMP/MLD messages.

Consider the case where the local host is sending out reports in response
to a remote querier like the following:

       mcast-listener-process (IP_ADD_MEMBERSHIP)
          \
          br0
         /   \
      swp1   swp2
        |     |
  QUERIER     SOME-OTHER-HOST

In the above setup, br0 will want to br_forward() reports for
mcast-listener-process's group(s) via swp1 to QUERIER; but since the
source hwdom is 0, the report is eligible for tx offloading, and is
flooded by hardware to both swp1 and swp2, reaching SOME-OTHER-HOST as
well. (Example and illustration provided by Tobias.)

Fixes: 472111920f ("net: bridge: switchdev: allow the TX data plane forwarding to be offloaded")
Signed-off-by: Joseph Huang <Joseph.Huang@garmin.com>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/20250716153551.1830255-1-Joseph.Huang@garmin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-07-24 08:53:19 +02:00
..
netfilter netfilter: bridge: Move specific fragmented packet to slow_path instead of dropping it 2025-06-19 15:28:13 +02:00
br_arp_nd_proxy.c
br_cfm_netlink.c
br_cfm.c
br_device.c
br_fdb.c
br_forward.c
br_if.c
br_input.c
br_ioctl.c
br_mdb.c bridge: mdb: Allow replace of a host-joined group 2025-06-04 14:42:13 +02:00
br_mrp_netlink.c
br_mrp_switchdev.c
br_mrp.c
br_mst.c net: bridge: mcast: update multicast contex when vlan state is changed 2025-06-27 11:08:55 +01:00
br_multicast_eht.c
br_multicast.c net: bridge: mcast: re-implement br_multicast_{enable, disable}_port functions 2025-06-27 11:08:55 +01:00
br_netfilter_hooks.c
br_netfilter_ipv6.c
br_netlink_tunnel.c
br_netlink.c
br_nf_core.c bridge: netfilter: Fix forwarding of fragmented packets 2025-06-04 14:42:18 +02:00
br_private_cfm.h
br_private_mcast_eht.h
br_private_mrp.h
br_private_stp.h
br_private_tunnel.h
br_private.h net: bridge: mcast: update multicast contex when vlan state is changed 2025-06-27 11:08:55 +01:00
br_stp_bpdu.c
br_stp_if.c
br_stp_timer.c
br_stp.c
br_switchdev.c net: bridge: Do not offload IGMP/MLD messages 2025-07-24 08:53:19 +02:00
br_sysfs_br.c
br_sysfs_if.c
br_vlan_options.c
br_vlan_tunnel.c
br_vlan.c
br.c
Kconfig
Makefile