From: Ioana Ciornei <ioana.cior...@nxp.com>

If a switch port is under a bridge, the offload_fwd_mark should be setup
before sending the skb towards the stack so that the bridge does not try
to flood the packet on the other switch ports.

Signed-off-by: Ioana Ciornei <ioana.cior...@nxp.com>
---
 drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c 
b/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
index 9f1a59219435..a9b30a72ddad 100644
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
@@ -2005,6 +2005,9 @@ static void dpaa2_switch_rx(struct dpaa2_switch_fq *fq,
        skb->dev = netdev;
        skb->protocol = eth_type_trans(skb, skb->dev);
 
+       /* Setup the offload_fwd_mark only if the port is under a bridge */
+       skb->offload_fwd_mark = !!(port_priv->fdb->bridge_dev);
+
        netif_receive_skb(skb);
 
        return;
-- 
2.30.0

Reply via email to