linux-yocto/net/bridge
Joseph Huang 71f435f846 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:56:35 +02:00
..
netfilter netfilter: bridge: Move specific fragmented packet to slow_path instead of dropping it 2025-06-19 15:31:46 +02:00
br_arp_nd_proxy.c
br_cfm_netlink.c
br_cfm.c
br_device.c netdev_features: convert NETIF_F_NETNS_LOCAL to dev->netns_local 2024-09-03 11:36:43 +02:00
br_fdb.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
br_forward.c net: bridge: mst: Check vlan state for egress decision 2024-07-15 13:40:28 +01:00
br_if.c
br_input.c netfilter: br_netfilter: skip conntrack input hook for promisc packets 2024-04-11 12:09:33 +02:00
br_ioctl.c
br_mdb.c bridge: mdb: Allow replace of a host-joined group 2025-05-29 11:03:01 +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:11:33 +01:00
br_multicast_eht.c
br_multicast.c net: bridge: mcast: re-implement br_multicast_{enable, disable}_port functions 2025-06-27 11:11:33 +01:00
br_netfilter_hooks.c ipv4: Convert ip_route_input() to dscp_t. 2025-03-07 18:25:29 +01:00
br_netfilter_ipv6.c
br_netlink_tunnel.c net: bridge: fix an inconsistent indentation 2024-06-05 10:04:47 +01:00
br_netlink.c bridge: Handle error of rtnl_register_module(). 2024-10-10 15:39:35 +02:00
br_nf_core.c bridge: netfilter: Fix forwarding of fragmented packets 2025-05-29 11:03:16 +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:11:33 +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: Do not offload IGMP/MLD messages 2025-07-24 08:56:35 +02:00
br_sysfs_br.c
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: switchdev: do not notify new brentries as changed 2025-04-25 10:47:45 +02:00
br.c
Kconfig
Makefile