Commit e1733de2 authored by Michael Dalton's avatar Michael Dalton Committed by David S. Miller

flow_dissector: support L2 GRE

Add support for L2 GRE tunnels, so that RPS can be more effective.
Signed-off-by: default avatarMichael Dalton <mwdalton@google.com>
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f4f3efda
...@@ -119,6 +119,17 @@ bool skb_flow_dissect(const struct sk_buff *skb, struct flow_keys *flow) ...@@ -119,6 +119,17 @@ bool skb_flow_dissect(const struct sk_buff *skb, struct flow_keys *flow)
nhoff += 4; nhoff += 4;
if (hdr->flags & GRE_SEQ) if (hdr->flags & GRE_SEQ)
nhoff += 4; nhoff += 4;
if (proto == htons(ETH_P_TEB)) {
const struct ethhdr *eth;
struct ethhdr _eth;
eth = skb_header_pointer(skb, nhoff,
sizeof(_eth), &_eth);
if (!eth)
return false;
proto = eth->h_proto;
nhoff += sizeof(*eth);
}
goto again; goto again;
} }
break; break;
......
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