[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181213160159.18956-4-marex@denx.de>
Date: Thu, 13 Dec 2018 17:01:59 +0100
From: Marek Vasut <marex@...x.de>
To: netdev@...r.kernel.org
Cc: f.fainelli@...il.com, andrew@...n.ch, Marek Vasut <marex@...x.de>,
Tristram Ha <Tristram.Ha@...rochip.com>,
Vivien Didelot <vivien.didelot@...oirfairelinux.com>,
Woojung Huh <woojung.huh@...rochip.com>,
"David S . Miller" <davem@...emloft.net>
Subject: [PATCH V2 3/3] net: dsa: ksz: Add STP multicast handling
In case the destination address is link local, add override bit into the
switch tag to let such a packet through the switch even if the port is down.
Signed-off-by: Marek Vasut <marex@...x.de>
Cc: Tristram Ha <Tristram.Ha@...rochip.com>
Cc: Vivien Didelot <vivien.didelot@...oirfairelinux.com>
Cc: Woojung Huh <woojung.huh@...rochip.com>
Cc: David S. Miller <davem@...emloft.net>
---
V2: New patch
---
net/dsa/tag_ksz.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/net/dsa/tag_ksz.c b/net/dsa/tag_ksz.c
index 6305c4d4068dc..b2d407ee63e8e 100644
--- a/net/dsa/tag_ksz.c
+++ b/net/dsa/tag_ksz.c
@@ -108,6 +108,10 @@ static struct sk_buff *ksz9477_xmit(struct sk_buff *skb,
addr = skb_mac_header(nskb);
*tag = BIT(dp->index);
+
+ if (is_link_local_ether_addr(addr))
+ *tag |= KSZ9477_TAIL_TAG_OVERRIDE;
+
*tag = cpu_to_be16(*tag);
return nskb;
--
2.18.0
Powered by blists - more mailing lists