Lines Matching refs:x
22 static void __xfrm_transport_prep(struct xfrm_state *x, struct sk_buff *skb, in __xfrm_transport_prep() argument
28 pskb_pull(skb, skb->mac_len + hsize + x->props.header_len); in __xfrm_transport_prep()
32 skb->transport_header -= x->props.header_len; in __xfrm_transport_prep()
36 static void __xfrm_mode_tunnel_prep(struct xfrm_state *x, struct sk_buff *skb, in __xfrm_mode_tunnel_prep() argument
46 pskb_pull(skb, skb->mac_len + x->props.header_len); in __xfrm_mode_tunnel_prep()
50 static void xfrm_outer_mode_prep(struct xfrm_state *x, struct sk_buff *skb) in xfrm_outer_mode_prep() argument
52 switch (x->outer_mode.encap) { in xfrm_outer_mode_prep()
54 if (x->outer_mode.family == AF_INET) in xfrm_outer_mode_prep()
55 return __xfrm_mode_tunnel_prep(x, skb, in xfrm_outer_mode_prep()
57 if (x->outer_mode.family == AF_INET6) in xfrm_outer_mode_prep()
58 return __xfrm_mode_tunnel_prep(x, skb, in xfrm_outer_mode_prep()
62 if (x->outer_mode.family == AF_INET) in xfrm_outer_mode_prep()
63 return __xfrm_transport_prep(x, skb, in xfrm_outer_mode_prep()
65 if (x->outer_mode.family == AF_INET6) in xfrm_outer_mode_prep()
66 return __xfrm_transport_prep(x, skb, in xfrm_outer_mode_prep()
80 struct xfrm_state *x; in validate_xmit_xfrm() local
94 x = sp->xvec[sp->len - 1]; in validate_xmit_xfrm()
95 if (xo->flags & XFRM_GRO || x->xso.flags & XFRM_OFFLOAD_INBOUND) in validate_xmit_xfrm()
111 if (unlikely(x->xso.dev != dev)) { in validate_xmit_xfrm()
132 xfrm_outer_mode_prep(x, skb); in validate_xmit_xfrm()
136 err = x->type_offload->xmit(x, skb, esp_features); in validate_xmit_xfrm()
141 XFRM_INC_STATS(xs_net(x), LINUX_MIB_XFRMOUTSTATEPROTOERROR); in validate_xmit_xfrm()
162 xfrm_outer_mode_prep(x, skb2); in validate_xmit_xfrm()
164 err = x->type_offload->xmit(x, skb2, esp_features); in validate_xmit_xfrm()
168 XFRM_INC_STATS(xs_net(x), LINUX_MIB_XFRMOUTSTATEPROTOERROR); in validate_xmit_xfrm()
192 int xfrm_dev_state_add(struct net *net, struct xfrm_state *x, in xfrm_dev_state_add() argument
198 struct xfrm_state_offload *xso = &x->xso; in xfrm_dev_state_add()
202 if (!x->type_offload) in xfrm_dev_state_add()
206 if (x->encap || x->tfcpad) in xfrm_dev_state_add()
212 saddr = &x->props.saddr; in xfrm_dev_state_add()
213 daddr = &x->id.daddr; in xfrm_dev_state_add()
215 saddr = &x->id.daddr; in xfrm_dev_state_add()
216 daddr = &x->props.saddr; in xfrm_dev_state_add()
220 x->props.family, in xfrm_dev_state_add()
221 xfrm_smark_get(0, x)); in xfrm_dev_state_add()
237 if (x->props.flags & XFRM_STATE_ESN && in xfrm_dev_state_add()
248 err = dev->xfrmdev_ops->xdo_dev_state_add(x); in xfrm_dev_state_add()
263 bool xfrm_dev_offload_ok(struct sk_buff *skb, struct xfrm_state *x) in xfrm_dev_offload_ok() argument
268 struct net_device *dev = x->xso.dev; in xfrm_dev_offload_ok()
270 if (!x->type_offload || x->encap) in xfrm_dev_offload_ok()
275 mtu = xfrm_state_mtu(x, xdst->child_mtu_cached); in xfrm_dev_offload_ok()
287 return x->xso.dev->xfrmdev_ops->xdo_dev_offload_ok(skb, x); in xfrm_dev_offload_ok()