Commit 611d23c5 authored by Tom Herbert's avatar Tom Herbert Committed by David S. Miller

flow_dissector: Fix MPLS entropy label handling in flow dissector

Need to shift after masking to get label value for comparison.

Fixes: b3baa0fb ("mpls: Add MPLS entropy label in flow_keys")
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarTom Herbert <tom@herbertland.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b60f2f3d
...@@ -299,8 +299,8 @@ bool __skb_flow_dissect(const struct sk_buff *skb, ...@@ -299,8 +299,8 @@ bool __skb_flow_dissect(const struct sk_buff *skb,
if (!hdr) if (!hdr)
return false; return false;
if ((ntohl(hdr[0].entry) & MPLS_LS_LABEL_MASK) == if ((ntohl(hdr[0].entry) & MPLS_LS_LABEL_MASK) >>
MPLS_LABEL_ENTROPY) { MPLS_LS_LABEL_SHIFT == MPLS_LABEL_ENTROPY) {
if (skb_flow_dissector_uses_key(flow_dissector, if (skb_flow_dissector_uses_key(flow_dissector,
FLOW_DISSECTOR_KEY_MPLS_ENTROPY)) { FLOW_DISSECTOR_KEY_MPLS_ENTROPY)) {
key_keyid = skb_flow_dissector_target(flow_dissector, key_keyid = skb_flow_dissector_target(flow_dissector,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment