blob: f254273919cb54b575b3c64dbb7db9815a3c5009 [file] [log] [blame]
From f.fainelli@gmail.com Tue Apr 7 07:42:34 2020
From: Florian Fainelli <f.fainelli@gmail.com>
Date: Mon, 6 Apr 2020 17:54:12 -0700
Subject: net: dsa: tag_brcm: Fix skb->fwd_offload_mark location
To: linux-stable@vger.kernel.org
Cc: gregkh@linuxfoundation.org, sashal@kernel.org, Florian Fainelli <f.fainelli@gmail.com>, Andrew Lunn <andrew@lunn.ch>, Vivien Didelot <vivien.didelot@savoirfairelinux.com>, "David S. Miller" <davem@davemloft.net>, netdev@vger.kernel.org (open list:NETWORKING [GENERAL]), linux-kernel@vger.kernel.org (open list)
Message-ID: <1586220853-34769-1-git-send-email-f.fainelli@gmail.com>
From: Florian Fainelli <f.fainelli@gmail.com>
When the backport of upstream commit
0e62f543bed03a64495bd2651d4fe1aa4bcb7fe5 ("net: dsa: Fix duplicate
frames flooded by learning") was done the assignment of
skb->fwd_offload_mark would land in brcm_tag_xmit() which is incorrect,
it should have been in brcm_tag_rcv().
Fixes: 5e845dc62f38 ("net: dsa: Fix duplicate frames flooded by learning")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
net/dsa/tag_brcm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/net/dsa/tag_brcm.c
+++ b/net/dsa/tag_brcm.c
@@ -84,8 +84,6 @@ static struct sk_buff *brcm_tag_xmit(str
brcm_tag[2] = BRCM_IG_DSTMAP2_MASK;
brcm_tag[3] = (1 << p->port) & BRCM_IG_DSTMAP1_MASK;
- skb->offload_fwd_mark = 1;
-
return skb;
out_free:
@@ -148,6 +146,8 @@ static int brcm_tag_rcv(struct sk_buff *
skb->dev->stats.rx_packets++;
skb->dev->stats.rx_bytes += skb->len;
+ skb->offload_fwd_mark = 1;
+
netif_receive_skb(skb);
return 0;