• Home
  • Raw
  • Download

Lines Matching refs:skb

19 int xfrm4_extract_input(struct xfrm_state *x, struct sk_buff *skb)  in xfrm4_extract_input()  argument
21 return xfrm4_extract_header(skb); in xfrm4_extract_input()
24 static inline int xfrm4_rcv_encap_finish(struct sk_buff *skb) in xfrm4_rcv_encap_finish() argument
26 if (skb->dst == NULL) { in xfrm4_rcv_encap_finish()
27 const struct iphdr *iph = ip_hdr(skb); in xfrm4_rcv_encap_finish()
29 if (ip_route_input(skb, iph->daddr, iph->saddr, iph->tos, in xfrm4_rcv_encap_finish()
30 skb->dev)) in xfrm4_rcv_encap_finish()
33 return dst_input(skb); in xfrm4_rcv_encap_finish()
35 kfree_skb(skb); in xfrm4_rcv_encap_finish()
39 int xfrm4_rcv_encap(struct sk_buff *skb, int nexthdr, __be32 spi, in xfrm4_rcv_encap() argument
42 XFRM_SPI_SKB_CB(skb)->family = AF_INET; in xfrm4_rcv_encap()
43 XFRM_SPI_SKB_CB(skb)->daddroff = offsetof(struct iphdr, daddr); in xfrm4_rcv_encap()
44 return xfrm_input(skb, nexthdr, spi, encap_type); in xfrm4_rcv_encap()
48 int xfrm4_transport_finish(struct sk_buff *skb, int async) in xfrm4_transport_finish() argument
50 struct iphdr *iph = ip_hdr(skb); in xfrm4_transport_finish()
52 iph->protocol = XFRM_MODE_SKB_CB(skb)->protocol; in xfrm4_transport_finish()
59 __skb_push(skb, skb->data - skb_network_header(skb)); in xfrm4_transport_finish()
60 iph->tot_len = htons(skb->len); in xfrm4_transport_finish()
63 NF_HOOK(PF_INET, NF_INET_PRE_ROUTING, skb, skb->dev, NULL, in xfrm4_transport_finish()
75 int xfrm4_udp_encap_rcv(struct sock *sk, struct sk_buff *skb) in xfrm4_udp_encap_rcv() argument
92 len = skb->len - sizeof(struct udphdr); in xfrm4_udp_encap_rcv()
93 if (!pskb_may_pull(skb, sizeof(struct udphdr) + min(len, 8))) in xfrm4_udp_encap_rcv()
97 uh = udp_hdr(skb); in xfrm4_udp_encap_rcv()
134 if (skb_cloned(skb) && pskb_expand_head(skb, 0, 0, GFP_ATOMIC)) in xfrm4_udp_encap_rcv()
138 iph = ip_hdr(skb); in xfrm4_udp_encap_rcv()
141 if (skb->len < iphlen + len) { in xfrm4_udp_encap_rcv()
150 __skb_pull(skb, len); in xfrm4_udp_encap_rcv()
151 skb_reset_transport_header(skb); in xfrm4_udp_encap_rcv()
154 return xfrm4_rcv_encap(skb, IPPROTO_ESP, 0, encap_type); in xfrm4_udp_encap_rcv()
157 kfree_skb(skb); in xfrm4_udp_encap_rcv()
161 int xfrm4_rcv(struct sk_buff *skb) in xfrm4_rcv() argument
163 return xfrm4_rcv_spi(skb, ip_hdr(skb)->protocol, 0); in xfrm4_rcv()