projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bafe9ba
)
net: dsa: ksz: Add STP multicast handling
author
Marek Vasut
<
[email protected]
>
Sat, 15 Dec 2018 00:58:06 +0000
(
01:58
+0100)
committer
David S. Miller
<
[email protected]
>
Sun, 16 Dec 2018 22:23:33 +0000
(14:23 -0800)
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
blocked.
Signed-off-by: Marek Vasut <
[email protected]
>
Cc: Tristram Ha <
[email protected]
>
Cc: Vivien Didelot <
[email protected]
>
Cc: Woojung Huh <
[email protected]
>
Cc: David S. Miller <
[email protected]
>
Reviewed-by: Andrew Lunn <
[email protected]
>
Reviewed-by: Florian Fainelli <
[email protected]
>
Signed-off-by: David S. Miller <
[email protected]
>
net/dsa/tag_ksz.c
patch
|
blob
|
history
diff --git
a/net/dsa/tag_ksz.c
b/net/dsa/tag_ksz.c
index c98b53f691bd442a74fb5cfe4bdca906da38ebf6..da71b9e2af52b6d5c6babbacbe8163c5ef59ea14 100644
(file)
--- a/
net/dsa/tag_ksz.c
+++ b/
net/dsa/tag_ksz.c
@@
-110,6
+110,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;