diff options
author | Andrew Lunn <andrew@lunn.ch> | 2021-10-03 17:50:53 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-10-13 09:42:04 +0200 |
commit | 58f0e59efa34ceea0253e58e4b27e44423767728 (patch) | |
tree | 0c74c837cf2dc0149dbbd91e3406e496daa9f1ee | |
parent | 5dc24f3e08419d01ce0dcd08e9472472ede9988f (diff) |
dsa: tag_dsa: Fix mask for trunked packets
commit b44d52a50bc6f191f0ae03f65de8401f3ef039b3 upstream.
A packet received on a trunk will have bit 2 set in Forward DSA tagged
frame. Bit 1 can be either 0 or 1 and is otherwise undefined and bit 0
indicates the frame CFI. Masking with 7 thus results in frames as
being identified as being from a trunk when in fact they are not. Fix
the mask to just look at bit 2.
Fixes: 5b60dadb71db ("net: dsa: tag_dsa: Support reception of packets from LAG devices")
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | net/dsa/tag_dsa.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/dsa/tag_dsa.c b/net/dsa/tag_dsa.c index a822355afc90..26c6768b6b0c 100644 --- a/net/dsa/tag_dsa.c +++ b/net/dsa/tag_dsa.c @@ -176,7 +176,7 @@ static struct sk_buff *dsa_rcv_ll(struct sk_buff *skb, struct net_device *dev, case DSA_CMD_FORWARD: skb->offload_fwd_mark = 1; - trunk = !!(dsa_header[1] & 7); + trunk = !!(dsa_header[1] & 4); break; case DSA_CMD_TO_CPU: |