Browse Source

[IPV6] TUNNEL6: Fix incoming packet length check for inter-protocol tunnel.

I discover a strange behavior in [ipv4 in ipv6] tunnel. When IPv6 tunnel
payload is less than 40(0x28), packet can be sent to network, received in
physical interface, but not seen in IP tunnel interface. No counter increase
in tunnel interface.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Colin 17 years ago
parent
commit
8283637231
1 changed files with 1 additions and 1 deletions
  1. 1 1
      net/ipv6/tunnel6.c

+ 1 - 1
net/ipv6/tunnel6.c

@@ -109,7 +109,7 @@ static int tunnel46_rcv(struct sk_buff *skb)
 {
 {
 	struct xfrm6_tunnel *handler;
 	struct xfrm6_tunnel *handler;
 
 
-	if (!pskb_may_pull(skb, sizeof(struct ipv6hdr)))
+	if (!pskb_may_pull(skb, sizeof(struct iphdr)))
 		goto drop;
 		goto drop;
 
 
 	for (handler = tunnel46_handlers; handler; handler = handler->next)
 	for (handler = tunnel46_handlers; handler; handler = handler->next)