diff options
Diffstat (limited to 'net/ipv6/mip6.c')
-rw-r--r-- | net/ipv6/mip6.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/net/ipv6/mip6.c b/net/ipv6/mip6.c index 8a1399ce38ce..7261c29898cb 100644 --- a/net/ipv6/mip6.c +++ b/net/ipv6/mip6.c | |||
@@ -153,11 +153,11 @@ static int mip6_destopt_output(struct xfrm_state *x, struct sk_buff *skb) | |||
153 | u8 nexthdr; | 153 | u8 nexthdr; |
154 | int len; | 154 | int len; |
155 | 155 | ||
156 | iph = (struct ipv6hdr *)skb->data; | 156 | iph = ipv6_hdr(skb); |
157 | iph->payload_len = htons(skb->len - sizeof(*iph)); | 157 | iph->payload_len = htons(skb->len - sizeof(*iph)); |
158 | 158 | ||
159 | nexthdr = *skb_network_header(skb); | 159 | nexthdr = *skb_mac_header(skb); |
160 | *skb_network_header(skb) = IPPROTO_DSTOPTS; | 160 | *skb_mac_header(skb) = IPPROTO_DSTOPTS; |
161 | 161 | ||
162 | dstopt = (struct ipv6_destopt_hdr *)skb_transport_header(skb); | 162 | dstopt = (struct ipv6_destopt_hdr *)skb_transport_header(skb); |
163 | dstopt->nexthdr = nexthdr; | 163 | dstopt->nexthdr = nexthdr; |
@@ -365,11 +365,11 @@ static int mip6_rthdr_output(struct xfrm_state *x, struct sk_buff *skb) | |||
365 | struct rt2_hdr *rt2; | 365 | struct rt2_hdr *rt2; |
366 | u8 nexthdr; | 366 | u8 nexthdr; |
367 | 367 | ||
368 | iph = (struct ipv6hdr *)skb->data; | 368 | iph = ipv6_hdr(skb); |
369 | iph->payload_len = htons(skb->len - sizeof(*iph)); | 369 | iph->payload_len = htons(skb->len - sizeof(*iph)); |
370 | 370 | ||
371 | nexthdr = *skb_network_header(skb); | 371 | nexthdr = *skb_mac_header(skb); |
372 | *skb_network_header(skb) = IPPROTO_ROUTING; | 372 | *skb_mac_header(skb) = IPPROTO_ROUTING; |
373 | 373 | ||
374 | rt2 = (struct rt2_hdr *)skb_transport_header(skb); | 374 | rt2 = (struct rt2_hdr *)skb_transport_header(skb); |
375 | rt2->rt_hdr.nexthdr = nexthdr; | 375 | rt2->rt_hdr.nexthdr = nexthdr; |