projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
20ea60c
)
ipv6: gre: fix wrong skb->protocol in WCCP
author
Yuri Chislov
<
[email protected]
>
Mon, 24 Nov 2014 10:25:15 +0000
(11:25 +0100)
committer
David S. Miller
<
[email protected]
>
Mon, 24 Nov 2014 21:11:05 +0000
(16:11 -0500)
When using GRE redirection in WCCP, it sets the wrong skb->protocol,
that is, ETH_P_IP instead of ETH_P_IPV6 for the encapuslated traffic.
Fixes: c12b395a4664 ("gre: Support GRE over IPv6")
Cc: Dmitry Kozlov <
[email protected]
>
Signed-off-by: Yuri Chislov <
[email protected]
>
Tested-by: Yuri Chislov <
[email protected]
>
Signed-off-by: Daniel Borkmann <
[email protected]
>
Signed-off-by: David S. Miller <
[email protected]
>
net/ipv6/ip6_gre.c
patch
|
blob
|
history
diff --git
a/net/ipv6/ip6_gre.c
b/net/ipv6/ip6_gre.c
index 4564e1fca3eb42ab23c8370069417a456cdc76eb..0e32d2e1bdbfecabd3ae7e8ddb33a99f51cd7b51 100644
(file)
--- a/
net/ipv6/ip6_gre.c
+++ b/
net/ipv6/ip6_gre.c
@@
-502,11
+502,11
@@
static int ip6gre_rcv(struct sk_buff *skb)
skb->protocol = gre_proto;
/* WCCP version 1 and 2 protocol decoding.
- * - Change protocol to IP
+ * - Change protocol to IP
v6
* - When dealing with WCCPv2, Skip extra 4 bytes in GRE header
*/
if (flags == 0 && gre_proto == htons(ETH_P_WCCP)) {
- skb->protocol = htons(ETH_P_IP);
+ skb->protocol = htons(ETH_P_IP
V6
);
if ((*(h + offset) & 0xF0) != 0x40)
offset += 4;
}