Lines Matching refs:afinfo
54 int xfrm_input_register_afinfo(const struct xfrm_input_afinfo *afinfo) in xfrm_input_register_afinfo() argument
58 if (WARN_ON(afinfo->family > AF_INET6)) in xfrm_input_register_afinfo()
62 if (unlikely(xfrm_input_afinfo[afinfo->is_ipip][afinfo->family])) in xfrm_input_register_afinfo()
65 rcu_assign_pointer(xfrm_input_afinfo[afinfo->is_ipip][afinfo->family], afinfo); in xfrm_input_register_afinfo()
71 int xfrm_input_unregister_afinfo(const struct xfrm_input_afinfo *afinfo) in xfrm_input_unregister_afinfo() argument
76 if (likely(xfrm_input_afinfo[afinfo->is_ipip][afinfo->family])) { in xfrm_input_unregister_afinfo()
77 if (unlikely(xfrm_input_afinfo[afinfo->is_ipip][afinfo->family] != afinfo)) in xfrm_input_unregister_afinfo()
80 RCU_INIT_POINTER(xfrm_input_afinfo[afinfo->is_ipip][afinfo->family], NULL); in xfrm_input_unregister_afinfo()
90 const struct xfrm_input_afinfo *afinfo; in xfrm_input_get_afinfo() local
96 afinfo = rcu_dereference(xfrm_input_afinfo[is_ipip][family]); in xfrm_input_get_afinfo()
97 if (unlikely(!afinfo)) in xfrm_input_get_afinfo()
99 return afinfo; in xfrm_input_get_afinfo()
106 const struct xfrm_input_afinfo *afinfo; in xfrm_rcv_cb() local
109 afinfo = xfrm_input_get_afinfo(family, is_ipip); in xfrm_rcv_cb()
110 if (!afinfo) in xfrm_rcv_cb()
113 ret = afinfo->callback(skb, protocol, err); in xfrm_rcv_cb()
462 const struct xfrm_state_afinfo *afinfo; in xfrm_input() local
735 afinfo = xfrm_state_afinfo_get_rcu(x->inner_mode.family); in xfrm_input()
736 if (likely(afinfo)) in xfrm_input()
737 err = afinfo->transport_finish(skb, xfrm_gro || async); in xfrm_input()