diff options
Diffstat (limited to 'net/ipv6/xfrm6_mode_transport.c')
-rw-r--r-- | net/ipv6/xfrm6_mode_transport.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv6/xfrm6_mode_transport.c b/net/ipv6/xfrm6_mode_transport.c index ace0bbf4f25d..358b60d9d912 100644 --- a/net/ipv6/xfrm6_mode_transport.c +++ b/net/ipv6/xfrm6_mode_transport.c | |||
@@ -32,7 +32,7 @@ static int xfrm6_transport_output(struct xfrm_state *x, struct sk_buff *skb) | |||
32 | int hdr_len; | 32 | int hdr_len; |
33 | 33 | ||
34 | skb_push(skb, x->props.header_len); | 34 | skb_push(skb, x->props.header_len); |
35 | iph = skb->nh.ipv6h; | 35 | iph = ipv6_hdr(skb); |
36 | 36 | ||
37 | hdr_len = x->type->hdr_offset(x, skb, &prevhdr); | 37 | hdr_len = x->type->hdr_offset(x, skb, &prevhdr); |
38 | skb->nh.raw = prevhdr - x->props.header_len; | 38 | skb->nh.raw = prevhdr - x->props.header_len; |
@@ -57,7 +57,7 @@ static int xfrm6_transport_input(struct xfrm_state *x, struct sk_buff *skb) | |||
57 | memmove(skb->h.raw, skb_network_header(skb), ihl); | 57 | memmove(skb->h.raw, skb_network_header(skb), ihl); |
58 | skb->nh.raw = skb->h.raw; | 58 | skb->nh.raw = skb->h.raw; |
59 | } | 59 | } |
60 | skb->nh.ipv6h->payload_len = htons(skb->len + ihl - | 60 | ipv6_hdr(skb)->payload_len = htons(skb->len + ihl - |
61 | sizeof(struct ipv6hdr)); | 61 | sizeof(struct ipv6hdr)); |
62 | skb->h.raw = skb->data; | 62 | skb->h.raw = skb->data; |
63 | return 0; | 63 | return 0; |