Lines Matching refs:skb
18 static inline void ipip_ecn_decapsulate(struct sk_buff *skb) in ipip_ecn_decapsulate() argument
20 struct iphdr *inner_iph = ipip_hdr(skb); in ipip_ecn_decapsulate()
22 if (INET_ECN_is_ce(XFRM_MODE_SKB_CB(skb)->tos)) in ipip_ecn_decapsulate()
30 static int xfrm4_mode_tunnel_output(struct xfrm_state *x, struct sk_buff *skb) in xfrm4_mode_tunnel_output() argument
32 struct dst_entry *dst = skb_dst(skb); in xfrm4_mode_tunnel_output()
36 skb_set_network_header(skb, -x->props.header_len); in xfrm4_mode_tunnel_output()
37 skb->mac_header = skb->network_header + in xfrm4_mode_tunnel_output()
39 skb->transport_header = skb->network_header + sizeof(*top_iph); in xfrm4_mode_tunnel_output()
40 top_iph = ip_hdr(skb); in xfrm4_mode_tunnel_output()
45 top_iph->protocol = xfrm_af2proto(skb_dst(skb)->ops->family); in xfrm4_mode_tunnel_output()
51 top_iph->tos = XFRM_MODE_SKB_CB(skb)->tos; in xfrm4_mode_tunnel_output()
53 XFRM_MODE_SKB_CB(skb)->tos); in xfrm4_mode_tunnel_output()
60 0 : (XFRM_MODE_SKB_CB(skb)->frag_off & htons(IP_DF)); in xfrm4_mode_tunnel_output()
66 ip_select_ident(dev_net(dst->dev), skb, NULL); in xfrm4_mode_tunnel_output()
71 static int xfrm4_mode_tunnel_input(struct xfrm_state *x, struct sk_buff *skb) in xfrm4_mode_tunnel_input() argument
75 if (XFRM_MODE_SKB_CB(skb)->protocol != IPPROTO_IPIP) in xfrm4_mode_tunnel_input()
78 if (!pskb_may_pull(skb, sizeof(struct iphdr))) in xfrm4_mode_tunnel_input()
81 err = skb_unclone(skb, GFP_ATOMIC); in xfrm4_mode_tunnel_input()
86 ipv4_copy_dscp(XFRM_MODE_SKB_CB(skb)->tos, ipip_hdr(skb)); in xfrm4_mode_tunnel_input()
88 ipip_ecn_decapsulate(skb); in xfrm4_mode_tunnel_input()
90 skb_reset_network_header(skb); in xfrm4_mode_tunnel_input()
91 skb_mac_header_rebuild(skb); in xfrm4_mode_tunnel_input()