Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 265315
b: refs/heads/master
c: c6865cb
h: refs/heads/master
i:
  265313: 4fbaa5e
  265311: 560fd83
v: v3
  • Loading branch information
Tom Herbert authored and David S. Miller committed Aug 18, 2011
1 parent f973077 commit f5ddf5e
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e971b7225bcb1f318811ef04628c441497372999
refs/heads/master: c6865cb3cc6f3c2857fa4c6f5fda2945d70b1e84
22 changes: 22 additions & 0 deletions trunk/net/core/dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -2570,6 +2570,28 @@ void __skb_get_rxhash(struct sk_buff *skb)
}

switch (ip_proto) {
case IPPROTO_GRE:
if (pskb_may_pull(skb, nhoff + 16)) {
u8 *h = skb->data + nhoff;
__be16 flags = *(__be16 *)h;

/*
* Only look inside GRE if version zero and no
* routing
*/
if (!(flags & (GRE_VERSION|GRE_ROUTING))) {
proto = *(__be16 *)(h + 2);
nhoff += 4;
if (flags & GRE_CSUM)
nhoff += 4;
if (flags & GRE_KEY)
nhoff += 4;
if (flags & GRE_SEQ)
nhoff += 4;
goto again;
}
}
break;
default:
break;
}
Expand Down

0 comments on commit f5ddf5e

Please sign in to comment.