diff options
author | Tom Herbert <tom@herbertland.com> | 2015-06-12 09:01:05 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-06-12 14:24:27 -0700 |
commit | 611d23c559a328ca3f84ac120c02d5a9f88c08f5 (patch) | |
tree | 6684696e8c52478d94125ddffbfcb360fbafb09b | |
parent | b60f2f3d65de3f3e9e63855e5f5070a3fedcccba (diff) | |
download | op-kernel-dev-611d23c559a328ca3f84ac120c02d5a9f88c08f5.zip op-kernel-dev-611d23c559a328ca3f84ac120c02d5a9f88c08f5.tar.gz |
flow_dissector: Fix MPLS entropy label handling in flow dissector
Need to shift after masking to get label value for comparison.
Fixes: b3baa0fbd02a1a9d493d8 ("mpls: Add MPLS entropy label in flow_keys")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Tom Herbert <tom@herbertland.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/core/flow_dissector.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c index 77e22e4..1818cdc 100644 --- a/net/core/flow_dissector.c +++ b/net/core/flow_dissector.c @@ -299,8 +299,8 @@ mpls: if (!hdr) return false; - if ((ntohl(hdr[0].entry) & MPLS_LS_LABEL_MASK) == - MPLS_LABEL_ENTROPY) { + if ((ntohl(hdr[0].entry) & MPLS_LS_LABEL_MASK) >> + MPLS_LS_LABEL_SHIFT == MPLS_LABEL_ENTROPY) { if (skb_flow_dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_MPLS_ENTROPY)) { key_keyid = skb_flow_dissector_target(flow_dissector, |