Lines Matching refs:skb
22 static int xfrm6_transport_output(struct xfrm_state *x, struct sk_buff *skb) in xfrm6_transport_output() argument
28 iph = ipv6_hdr(skb); in xfrm6_transport_output()
30 hdr_len = x->type->hdr_offset(x, skb, &prevhdr); in xfrm6_transport_output()
31 skb_set_mac_header(skb, (prevhdr - x->props.header_len) - skb->data); in xfrm6_transport_output()
32 skb_set_network_header(skb, -x->props.header_len); in xfrm6_transport_output()
33 skb->transport_header = skb->network_header + hdr_len; in xfrm6_transport_output()
34 __skb_pull(skb, hdr_len); in xfrm6_transport_output()
35 memmove(ipv6_hdr(skb), iph, hdr_len); in xfrm6_transport_output()
47 static int xfrm6_transport_input(struct xfrm_state *x, struct sk_buff *skb) in xfrm6_transport_input() argument
49 int ihl = skb->data - skb_transport_header(skb); in xfrm6_transport_input()
51 if (skb->transport_header != skb->network_header) { in xfrm6_transport_input()
52 memmove(skb_transport_header(skb), in xfrm6_transport_input()
53 skb_network_header(skb), ihl); in xfrm6_transport_input()
54 skb->network_header = skb->transport_header; in xfrm6_transport_input()
56 ipv6_hdr(skb)->payload_len = htons(skb->len + ihl - in xfrm6_transport_input()
58 skb_reset_transport_header(skb); in xfrm6_transport_input()