Lines Matching refs:family
55 if (WARN_ON(afinfo->family >= ARRAY_SIZE(xfrm_input_afinfo))) in xfrm_input_register_afinfo()
59 if (unlikely(xfrm_input_afinfo[afinfo->family] != NULL)) in xfrm_input_register_afinfo()
62 rcu_assign_pointer(xfrm_input_afinfo[afinfo->family], afinfo); in xfrm_input_register_afinfo()
73 if (likely(xfrm_input_afinfo[afinfo->family] != NULL)) { in xfrm_input_unregister_afinfo()
74 if (unlikely(xfrm_input_afinfo[afinfo->family] != afinfo)) in xfrm_input_unregister_afinfo()
77 RCU_INIT_POINTER(xfrm_input_afinfo[afinfo->family], NULL); in xfrm_input_unregister_afinfo()
85 static const struct xfrm_input_afinfo *xfrm_input_get_afinfo(unsigned int family) in xfrm_input_get_afinfo() argument
89 if (WARN_ON_ONCE(family >= ARRAY_SIZE(xfrm_input_afinfo))) in xfrm_input_get_afinfo()
93 afinfo = rcu_dereference(xfrm_input_afinfo[family]); in xfrm_input_get_afinfo()
99 static int xfrm_rcv_cb(struct sk_buff *skb, unsigned int family, u8 protocol, in xfrm_rcv_cb() argument
103 const struct xfrm_input_afinfo *afinfo = xfrm_input_get_afinfo(family); in xfrm_rcv_cb()
335 if (inner_mode->family == AF_INET) in xfrm_inner_mode_encap_remove()
337 if (inner_mode->family == AF_INET6) in xfrm_inner_mode_encap_remove()
341 if (inner_mode->family == AF_INET) in xfrm_inner_mode_encap_remove()
343 if (inner_mode->family == AF_INET6) in xfrm_inner_mode_encap_remove()
359 afinfo = xfrm_state_afinfo_get_rcu(x->outer_mode.family); in xfrm_prepare_input()
367 if (x->sel.family == AF_UNSPEC) { in xfrm_prepare_input()
373 switch (inner_mode->family) { in xfrm_prepare_input()
439 if (inner_mode->family == AF_INET) in xfrm_inner_mode_input()
441 if (inner_mode->family == AF_INET6) in xfrm_inner_mode_input()
466 unsigned int family = AF_UNSPEC; in xfrm_input() local
489 family = x->outer_mode.family; in xfrm_input()
504 family = XFRM_SPI_SKB_CB(skb)->family; in xfrm_input()
538 family = XFRM_SPI_SKB_CB(skb)->family; in xfrm_input()
541 switch (family) { in xfrm_input()
576 x = xfrm_state_lookup(net, mark, daddr, spi, nexthdr, family); in xfrm_input()
580 xfrm_audit_state_notfound(skb, family, spi, seq); in xfrm_input()
623 if (xfrm_tunnel_check(skb, x, family)) { in xfrm_input()
675 if (x->sel.family == AF_UNSPEC) { in xfrm_input()
698 family = x->outer_mode.family; in xfrm_input()
708 err = xfrm_rcv_cb(skb, family, x->type->proto, 0); in xfrm_input()
728 afinfo = xfrm_state_afinfo_get_rcu(x->inner_mode.family); in xfrm_input()
747 xfrm_rcv_cb(skb, family, x && x->type ? x->type->proto : nexthdr, -1); in xfrm_input()