aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/mip6.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/mip6.c')
-rw-r--r--net/ipv6/mip6.c12
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;