Lines Matching refs:x

58 	struct xfrm_state *x;  in esp6_gro_receive()  local
83 x = xfrm_input_state_lookup(dev_net(skb->dev), skb->mark, in esp6_gro_receive()
87 if (unlikely(x && x->dir && x->dir != XFRM_SA_DIR_IN)) { in esp6_gro_receive()
89 xfrm_state_put(x); in esp6_gro_receive()
90 x = NULL; in esp6_gro_receive()
93 if (!x) in esp6_gro_receive()
96 skb->mark = xfrm_smark_get(skb->mark, x); in esp6_gro_receive()
98 sp->xvec[sp->len++] = x; in esp6_gro_receive()
133 static void esp6_gso_encap(struct xfrm_state *x, struct sk_buff *skb) in esp6_gso_encap() argument
142 if (x->outer_mode.encap == XFRM_MODE_TRANSPORT) { in esp6_gso_encap()
151 esph->spi = x->id.spi; in esp6_gso_encap()
157 static struct sk_buff *xfrm6_tunnel_gso_segment(struct xfrm_state *x, in xfrm6_tunnel_gso_segment() argument
161 __be16 type = x->inner_mode.family == AF_INET ? htons(ETH_P_IP) in xfrm6_tunnel_gso_segment()
167 static struct sk_buff *xfrm6_transport_gso_segment(struct xfrm_state *x, in xfrm6_transport_gso_segment() argument
175 skb->transport_header += x->props.header_len; in xfrm6_transport_gso_segment()
183 static struct sk_buff *xfrm6_beet_gso_segment(struct xfrm_state *x, in xfrm6_beet_gso_segment() argument
192 skb->transport_header += x->props.header_len; in xfrm6_beet_gso_segment()
194 if (x->sel.family != AF_INET6) { in xfrm6_beet_gso_segment()
228 static struct sk_buff *xfrm6_outer_mode_gso_segment(struct xfrm_state *x, in xfrm6_outer_mode_gso_segment() argument
232 switch (x->outer_mode.encap) { in xfrm6_outer_mode_gso_segment()
234 return xfrm6_tunnel_gso_segment(x, skb, features); in xfrm6_outer_mode_gso_segment()
236 return xfrm6_transport_gso_segment(x, skb, features); in xfrm6_outer_mode_gso_segment()
238 return xfrm6_beet_gso_segment(x, skb, features); in xfrm6_outer_mode_gso_segment()
247 struct xfrm_state *x; in esp6_gso_segment() local
261 x = sp->xvec[sp->len - 1]; in esp6_gso_segment()
262 aead = x->data; in esp6_gso_segment()
265 if (esph->spi != x->id.spi) in esp6_gso_segment()
275 if (!(features & NETIF_F_HW_ESP) || x->xso.dev != skb->dev) in esp6_gso_segment()
284 return xfrm6_outer_mode_gso_segment(x, skb, esp_features); in esp6_gso_segment()
287 static int esp6_input_tail(struct xfrm_state *x, struct sk_buff *skb) in esp6_input_tail() argument
289 struct crypto_aead *aead = x->data; in esp6_input_tail()
301 static int esp6_xmit(struct xfrm_state *x, struct sk_buff *skb, netdev_features_t features) in esp6_xmit() argument
320 if (!(features & NETIF_F_HW_ESP) || x->xso.dev != skb->dev) { in esp6_xmit()
329 aead = x->data; in esp6_xmit()
341 esp.nfrags = esp6_output_head(x, skb, &esp); in esp6_xmit()
349 esp.esph->spi = x->id.spi; in esp6_xmit()
385 err = esp6_output_tail(x, skb, &esp); in esp6_xmit()