Lines Matching refs:afinfo
226 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family); in xfrm_register_type() local
229 if (!afinfo) in xfrm_register_type()
239 X(afinfo, type, comp); in xfrm_register_type()
242 X(afinfo, type, ah); in xfrm_register_type()
245 X(afinfo, type, esp); in xfrm_register_type()
248 X(afinfo, type, ipip); in xfrm_register_type()
251 X(afinfo, type, dstopts); in xfrm_register_type()
254 X(afinfo, type, routing); in xfrm_register_type()
257 X(afinfo, type, ipip6); in xfrm_register_type()
272 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family); in xfrm_unregister_type() local
274 if (unlikely(afinfo == NULL)) in xfrm_unregister_type()
284 X(afinfo, type, comp); in xfrm_unregister_type()
287 X(afinfo, type, ah); in xfrm_unregister_type()
290 X(afinfo, type, esp); in xfrm_unregister_type()
293 X(afinfo, type, ipip); in xfrm_unregister_type()
296 X(afinfo, type, dstopts); in xfrm_unregister_type()
299 X(afinfo, type, routing); in xfrm_unregister_type()
302 X(afinfo, type, ipip6); in xfrm_unregister_type()
316 struct xfrm_state_afinfo *afinfo; in xfrm_get_type() local
320 afinfo = xfrm_state_get_afinfo(family); in xfrm_get_type()
321 if (unlikely(afinfo == NULL)) in xfrm_get_type()
326 type = afinfo->type_comp; in xfrm_get_type()
329 type = afinfo->type_ah; in xfrm_get_type()
332 type = afinfo->type_esp; in xfrm_get_type()
335 type = afinfo->type_ipip; in xfrm_get_type()
338 type = afinfo->type_dstopts; in xfrm_get_type()
341 type = afinfo->type_routing; in xfrm_get_type()
344 type = afinfo->type_ipip6; in xfrm_get_type()
372 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family); in xfrm_register_type_offload() local
375 if (unlikely(afinfo == NULL)) in xfrm_register_type_offload()
380 WARN_ON(afinfo->type_offload_esp); in xfrm_register_type_offload()
381 afinfo->type_offload_esp = type; in xfrm_register_type_offload()
397 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family); in xfrm_unregister_type_offload() local
399 if (unlikely(afinfo == NULL)) in xfrm_unregister_type_offload()
404 WARN_ON(afinfo->type_offload_esp != type); in xfrm_unregister_type_offload()
405 afinfo->type_offload_esp = NULL; in xfrm_unregister_type_offload()
419 struct xfrm_state_afinfo *afinfo; in xfrm_get_type_offload() local
422 afinfo = xfrm_state_get_afinfo(family); in xfrm_get_type_offload()
423 if (unlikely(afinfo == NULL)) in xfrm_get_type_offload()
428 type = afinfo->type_offload_esp; in xfrm_get_type_offload()
2668 int xfrm_state_register_afinfo(struct xfrm_state_afinfo *afinfo) in xfrm_state_register_afinfo() argument
2672 if (WARN_ON(afinfo->family >= NPROTO)) in xfrm_state_register_afinfo()
2676 if (unlikely(xfrm_state_afinfo[afinfo->family] != NULL)) in xfrm_state_register_afinfo()
2679 rcu_assign_pointer(xfrm_state_afinfo[afinfo->family], afinfo); in xfrm_state_register_afinfo()
2685 int xfrm_state_unregister_afinfo(struct xfrm_state_afinfo *afinfo) in xfrm_state_unregister_afinfo() argument
2687 int err = 0, family = afinfo->family; in xfrm_state_unregister_afinfo()
2693 if (likely(xfrm_state_afinfo[afinfo->family] != NULL)) { in xfrm_state_unregister_afinfo()
2694 if (rcu_access_pointer(xfrm_state_afinfo[family]) != afinfo) in xfrm_state_unregister_afinfo()
2697 RCU_INIT_POINTER(xfrm_state_afinfo[afinfo->family], NULL); in xfrm_state_unregister_afinfo()
2716 struct xfrm_state_afinfo *afinfo; in xfrm_state_get_afinfo() local
2720 afinfo = rcu_dereference(xfrm_state_afinfo[family]); in xfrm_state_get_afinfo()
2721 if (unlikely(!afinfo)) in xfrm_state_get_afinfo()
2723 return afinfo; in xfrm_state_get_afinfo()