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