Lines Matching refs:afinfo
163 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family); in xfrm_register_type() local
167 if (unlikely(afinfo == NULL)) in xfrm_register_type()
169 typemap = afinfo->type_map; in xfrm_register_type()
177 xfrm_state_put_afinfo(afinfo); in xfrm_register_type()
184 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family); in xfrm_unregister_type() local
188 if (unlikely(afinfo == NULL)) in xfrm_unregister_type()
190 typemap = afinfo->type_map; in xfrm_unregister_type()
198 xfrm_state_put_afinfo(afinfo); in xfrm_unregister_type()
205 struct xfrm_state_afinfo *afinfo; in xfrm_get_type() local
211 afinfo = xfrm_state_get_afinfo(family); in xfrm_get_type()
212 if (unlikely(afinfo == NULL)) in xfrm_get_type()
214 typemap = afinfo->type_map; in xfrm_get_type()
220 xfrm_state_put_afinfo(afinfo); in xfrm_get_type()
226 xfrm_state_put_afinfo(afinfo); in xfrm_get_type()
238 struct xfrm_state_afinfo *afinfo; in xfrm_register_mode() local
245 afinfo = xfrm_state_get_afinfo(family); in xfrm_register_mode()
246 if (unlikely(afinfo == NULL)) in xfrm_register_mode()
250 modemap = afinfo->mode_map; in xfrm_register_mode()
256 if (!try_module_get(afinfo->owner)) in xfrm_register_mode()
259 mode->afinfo = afinfo; in xfrm_register_mode()
265 xfrm_state_put_afinfo(afinfo); in xfrm_register_mode()
272 struct xfrm_state_afinfo *afinfo; in xfrm_unregister_mode() local
279 afinfo = xfrm_state_get_afinfo(family); in xfrm_unregister_mode()
280 if (unlikely(afinfo == NULL)) in xfrm_unregister_mode()
284 modemap = afinfo->mode_map; in xfrm_unregister_mode()
288 module_put(mode->afinfo->owner); in xfrm_unregister_mode()
293 xfrm_state_put_afinfo(afinfo); in xfrm_unregister_mode()
300 struct xfrm_state_afinfo *afinfo; in xfrm_get_mode() local
308 afinfo = xfrm_state_get_afinfo(family); in xfrm_get_mode()
309 if (unlikely(afinfo == NULL)) in xfrm_get_mode()
312 mode = afinfo->mode_map[encap]; in xfrm_get_mode()
316 xfrm_state_put_afinfo(afinfo); in xfrm_get_mode()
322 xfrm_state_put_afinfo(afinfo); in xfrm_get_mode()
638 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family); in xfrm_init_tempstate() local
639 if (!afinfo) in xfrm_init_tempstate()
641 afinfo->init_tempsel(&x->sel, fl); in xfrm_init_tempstate()
644 xfrm_state_put_afinfo(afinfo); in xfrm_init_tempstate()
645 afinfo = xfrm_state_get_afinfo(tmpl->encap_family); in xfrm_init_tempstate()
646 if (!afinfo) in xfrm_init_tempstate()
649 afinfo->init_temprop(x, tmpl, daddr, saddr); in xfrm_init_tempstate()
650 xfrm_state_put_afinfo(afinfo); in xfrm_init_tempstate()
1439 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family); in xfrm_tmpl_sort() local
1440 if (!afinfo) in xfrm_tmpl_sort()
1444 if (afinfo->tmpl_sort) in xfrm_tmpl_sort()
1445 err = afinfo->tmpl_sort(dst, src, n); in xfrm_tmpl_sort()
1447 xfrm_state_put_afinfo(afinfo); in xfrm_tmpl_sort()
1457 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family); in xfrm_state_sort() local
1460 if (!afinfo) in xfrm_state_sort()
1464 if (afinfo->state_sort) in xfrm_state_sort()
1465 err = afinfo->state_sort(dst, src, n); in xfrm_state_sort()
1467 xfrm_state_put_afinfo(afinfo); in xfrm_state_sort()
1902 int xfrm_state_register_afinfo(struct xfrm_state_afinfo *afinfo) in xfrm_state_register_afinfo() argument
1905 if (unlikely(afinfo == NULL)) in xfrm_state_register_afinfo()
1907 if (unlikely(afinfo->family >= NPROTO)) in xfrm_state_register_afinfo()
1910 if (unlikely(xfrm_state_afinfo[afinfo->family] != NULL)) in xfrm_state_register_afinfo()
1913 rcu_assign_pointer(xfrm_state_afinfo[afinfo->family], afinfo); in xfrm_state_register_afinfo()
1919 int xfrm_state_unregister_afinfo(struct xfrm_state_afinfo *afinfo) in xfrm_state_unregister_afinfo() argument
1922 if (unlikely(afinfo == NULL)) in xfrm_state_unregister_afinfo()
1924 if (unlikely(afinfo->family >= NPROTO)) in xfrm_state_unregister_afinfo()
1927 if (likely(xfrm_state_afinfo[afinfo->family] != NULL)) { in xfrm_state_unregister_afinfo()
1928 if (unlikely(xfrm_state_afinfo[afinfo->family] != afinfo)) in xfrm_state_unregister_afinfo()
1931 RCU_INIT_POINTER(xfrm_state_afinfo[afinfo->family], NULL); in xfrm_state_unregister_afinfo()
1941 struct xfrm_state_afinfo *afinfo; in xfrm_state_get_afinfo() local
1945 afinfo = rcu_dereference(xfrm_state_afinfo[family]); in xfrm_state_get_afinfo()
1946 if (unlikely(!afinfo)) in xfrm_state_get_afinfo()
1948 return afinfo; in xfrm_state_get_afinfo()
1951 void xfrm_state_put_afinfo(struct xfrm_state_afinfo *afinfo) in xfrm_state_put_afinfo() argument
1987 struct xfrm_state_afinfo *afinfo; in __xfrm_init_state() local
1993 afinfo = xfrm_state_get_afinfo(family); in __xfrm_init_state()
1994 if (!afinfo) in __xfrm_init_state()
1998 if (afinfo->init_flags) in __xfrm_init_state()
1999 err = afinfo->init_flags(x); in __xfrm_init_state()
2001 xfrm_state_put_afinfo(afinfo); in __xfrm_init_state()