diff options
Diffstat (limited to 'net/ipv6/xfrm6_mode_tunnel.c')
-rw-r--r-- | net/ipv6/xfrm6_mode_tunnel.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv6/xfrm6_mode_tunnel.c b/net/ipv6/xfrm6_mode_tunnel.c index 5bb0677d3730..8ce5ef2d0b1c 100644 --- a/net/ipv6/xfrm6_mode_tunnel.c +++ b/net/ipv6/xfrm6_mode_tunnel.c | |||
@@ -53,7 +53,7 @@ static int xfrm6_tunnel_output(struct xfrm_state *x, struct sk_buff *skb) | |||
53 | skb_push(skb, x->props.header_len); | 53 | skb_push(skb, x->props.header_len); |
54 | iph = skb->nh.ipv6h; | 54 | iph = skb->nh.ipv6h; |
55 | 55 | ||
56 | skb->nh.raw = skb->data; | 56 | skb_reset_network_header(skb); |
57 | top_iph = skb->nh.ipv6h; | 57 | top_iph = skb->nh.ipv6h; |
58 | skb->nh.raw = &top_iph->nexthdr; | 58 | skb->nh.raw = &top_iph->nexthdr; |
59 | skb->h.ipv6h = top_iph + 1; | 59 | skb->h.ipv6h = top_iph + 1; |
@@ -111,7 +111,7 @@ static int xfrm6_tunnel_input(struct xfrm_state *x, struct sk_buff *skb) | |||
111 | old_mac = skb_mac_header(skb); | 111 | old_mac = skb_mac_header(skb); |
112 | skb_set_mac_header(skb, -skb->mac_len); | 112 | skb_set_mac_header(skb, -skb->mac_len); |
113 | memmove(skb_mac_header(skb), old_mac, skb->mac_len); | 113 | memmove(skb_mac_header(skb), old_mac, skb->mac_len); |
114 | skb->nh.raw = skb->data; | 114 | skb_reset_network_header(skb); |
115 | err = 0; | 115 | err = 0; |
116 | 116 | ||
117 | out: | 117 | out: |