Lines Matching defs:x6spi
77 struct xfrm6_tunnel_spi *x6spi;
79 hlist_for_each_entry_rcu(x6spi,
82 if (xfrm6_addr_equal(&x6spi->addr, saddr))
83 return x6spi;
91 struct xfrm6_tunnel_spi *x6spi;
95 x6spi = __xfrm6_tunnel_spi_lookup(net, saddr);
96 spi = x6spi ? x6spi->spi : 0;
105 struct xfrm6_tunnel_spi *x6spi;
108 hlist_for_each_entry(x6spi,
111 if (x6spi->spi == spi)
121 struct xfrm6_tunnel_spi *x6spi;
147 x6spi = kmem_cache_alloc(xfrm6_tunnel_spi_kmem, GFP_ATOMIC);
148 if (!x6spi)
151 memcpy(&x6spi->addr, saddr, sizeof(x6spi->addr));
152 x6spi->spi = spi;
153 refcount_set(&x6spi->refcnt, 1);
155 hlist_add_head_rcu(&x6spi->list_byspi, &xfrm6_tn->spi_byspi[index]);
158 hlist_add_head_rcu(&x6spi->list_byaddr, &xfrm6_tn->spi_byaddr[index]);
165 struct xfrm6_tunnel_spi *x6spi;
169 x6spi = __xfrm6_tunnel_spi_lookup(net, saddr);
170 if (x6spi) {
171 refcount_inc(&x6spi->refcnt);
172 spi = x6spi->spi;
190 struct xfrm6_tunnel_spi *x6spi;
195 hlist_for_each_entry_safe(x6spi, n,
199 if (xfrm6_addr_equal(&x6spi->addr, saddr)) {
200 if (refcount_dec_and_test(&x6spi->refcnt)) {
201 hlist_del_rcu(&x6spi->list_byaddr);
202 hlist_del_rcu(&x6spi->list_byspi);
203 call_rcu(&x6spi->rcu_head, x6spi_destroy_rcu);