On tis, jul 01, 2025 at 15:36, Joseph Huang <Joseph.Huang@xxxxxxxxxx> wrote: > 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. Hi Joseph, Do I understand the situation correctly that this is the case where the local host is sending out reports in response to a remote querier? mcast-listener-process (IP_ADD_MEMBERSHIP) \ br0 / \ swp1 swp2 | | QUERIER SOME-OTHER-HOST So 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? > Fixes: 472111920f1c ("net: bridge: switchdev: allow the TX data plane forwarding to be offloaded") > Signed-off-by: Joseph Huang <Joseph.Huang@xxxxxxxxxx> > --- > net/bridge/br_switchdev.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/net/bridge/br_switchdev.c b/net/bridge/br_switchdev.c > index 95d7355a0407..757c34bf5931 100644 > --- a/net/bridge/br_switchdev.c > +++ b/net/bridge/br_switchdev.c > @@ -18,7 +18,8 @@ static bool nbp_switchdev_can_offload_tx_fwd(const struct net_bridge_port *p, > return false; > > return (p->flags & BR_TX_FWD_OFFLOAD) && > - (p->hwdom != BR_INPUT_SKB_CB(skb)->src_hwdom); > + (p->hwdom != BR_INPUT_SKB_CB(skb)->src_hwdom) && > + !br_multicast_igmp_type(skb); > } > > bool br_switchdev_frame_uses_tx_fwd_offload(struct sk_buff *skb) > -- > 2.49.0