• Home
  • Raw
  • Download

Lines Matching refs:family

112 	u16 family;  member
170 xfrm_policy_inexact_lookup(struct net *net, u8 type, u16 family, u8 dir,
175 u8 type, u16 family, u8 dir, u32 if_id);
220 unsigned short family) in xfrm_selector_match() argument
222 switch (family) { in xfrm_selector_match()
231 static const struct xfrm_policy_afinfo *xfrm_policy_get_afinfo(unsigned short family) in xfrm_policy_get_afinfo() argument
235 if (unlikely(family >= ARRAY_SIZE(xfrm_policy_afinfo))) in xfrm_policy_get_afinfo()
238 afinfo = rcu_dereference(xfrm_policy_afinfo[family]); in xfrm_policy_get_afinfo()
253 int family, u32 mark) in __xfrm_dst_lookup() argument
258 afinfo = xfrm_policy_get_afinfo(family); in __xfrm_dst_lookup()
274 int family, u32 mark) in xfrm_dst_lookup() argument
290 dst = __xfrm_dst_lookup(net, tos, oif, saddr, daddr, family, mark); in xfrm_dst_lookup()
457 unsigned short family, int dir, in __get_hash_thresh() argument
460 switch (family) { in __get_hash_thresh()
479 unsigned short family, int dir) in policy_hash_bysel() argument
486 __get_hash_thresh(net, family, dir, &dbits, &sbits); in policy_hash_bysel()
487 hash = __sel_hash(sel, family, hmask, dbits, sbits); in policy_hash_bysel()
499 unsigned short family, int dir) in policy_hash_direct() argument
506 __get_hash_thresh(net, family, dir, &dbits, &sbits); in policy_hash_direct()
507 hash = __addr_hash(daddr, saddr, family, hmask, dbits, sbits); in policy_hash_direct()
529 __get_hash_thresh(net, pol->family, dir, &dbits, &sbits); in xfrm_dst_hash_transfer()
531 pol->family, nhashmask, dbits, sbits); in xfrm_dst_hash_transfer()
694 .family = pol->family, in xfrm_policy_inexact_alloc_bin()
733 int family, u8 prefixlen) in xfrm_pol_inexact_addr_use_any_list() argument
735 if (xfrm_addr_any(addr, family)) in xfrm_pol_inexact_addr_use_any_list()
738 if (family == AF_INET6 && prefixlen < INEXACT_PREFIXLEN_IPV6) in xfrm_pol_inexact_addr_use_any_list()
741 if (family == AF_INET && prefixlen < INEXACT_PREFIXLEN_IPV4) in xfrm_pol_inexact_addr_use_any_list()
758 policy->family, in xfrm_policy_inexact_insert_use_any_list()
763 policy->family, in xfrm_policy_inexact_insert_use_any_list()
789 u8 prefixlen, u16 family) in xfrm_policy_addr_delta() argument
794 switch (family) { in xfrm_policy_addr_delta()
825 u16 family) in xfrm_policy_inexact_list_reinsert() argument
840 WARN_ON_ONCE(policy->family != family); in xfrm_policy_inexact_list_reinsert()
869 family) == 0; in xfrm_policy_inexact_list_reinsert()
873 family) == 0; in xfrm_policy_inexact_list_reinsert()
889 u16 family) in xfrm_policy_inexact_node_reinsert() argument
909 prefixlen, family); in xfrm_policy_inexact_node_reinsert()
925 xfrm_policy_inexact_list_reinsert(net, node, family); in xfrm_policy_inexact_node_reinsert()
947 u16 family) in xfrm_policy_inexact_node_merge() argument
961 family); in xfrm_policy_inexact_node_merge()
969 xfrm_policy_inexact_list_reinsert(net, n, family); in xfrm_policy_inexact_node_merge()
976 u16 family, u8 prefixlen, u8 dir) in xfrm_policy_inexact_insert_node() argument
991 family); in xfrm_policy_inexact_insert_node()
1005 family); in xfrm_policy_inexact_insert_node()
1026 cached, family); in xfrm_policy_inexact_insert_node()
1123 policy->family, in xfrm_policy_inexact_alloc_chain()
1129 policy->family, in xfrm_policy_inexact_alloc_chain()
1144 policy->family, in xfrm_policy_inexact_alloc_chain()
1152 policy->family, in xfrm_policy_inexact_alloc_chain()
1160 policy->family, in xfrm_policy_inexact_alloc_chain()
1247 if (policy->family == AF_INET) { in xfrm_hash_rebuild()
1255 if (policy->family == AF_INET) { in xfrm_hash_rebuild()
1319 policy->family, dir); in xfrm_hash_rebuild()
1449 u32 a = k->type << 24 | k->dir << 16 | k->family; in xfrm_pol_bin_key()
1480 ret = b->k.family ^ key->family; in xfrm_pol_bin_cmp()
1572 chain = policy_hash_bysel(net, &policy->selector, policy->family, dir); in xfrm_policy_insert()
1586 if (policy->family == AF_INET) in xfrm_policy_insert()
1647 chain = policy_hash_bysel(net, sel, sel->family, dir); in xfrm_policy_bysel_ctx()
1653 sel->family, dir, if_id); in xfrm_policy_bysel_ctx()
1888 u8 type, u16 family, int dir, u32 if_id) in xfrm_policy_match() argument
1894 if (pol->family != family || in xfrm_policy_match()
1900 match = xfrm_selector_match(sel, fl, family); in xfrm_policy_match()
1910 const xfrm_address_t *addr, u16 family) in xfrm_policy_lookup_inexact_addr() argument
1926 node->prefixlen, family); in xfrm_policy_lookup_inexact_addr()
1951 u16 family; in xfrm_policy_find_inexact_candidates() local
1956 family = b->k.family; in xfrm_policy_find_inexact_candidates()
1961 family); in xfrm_policy_find_inexact_candidates()
1965 family); in xfrm_policy_find_inexact_candidates()
1971 family); in xfrm_policy_find_inexact_candidates()
1979 xfrm_policy_inexact_lookup_rcu(struct net *net, u8 type, u16 family, in xfrm_policy_inexact_lookup_rcu() argument
1983 .family = family, in xfrm_policy_inexact_lookup_rcu()
1996 xfrm_policy_inexact_lookup(struct net *net, u8 type, u16 family, in xfrm_policy_inexact_lookup() argument
2004 bin = xfrm_policy_inexact_lookup_rcu(net, type, family, dir, if_id); in xfrm_policy_inexact_lookup()
2014 u8 type, u16 family, int dir, u32 if_id) in __xfrm_policy_eval_candidates() argument
2028 err = xfrm_policy_match(pol, fl, type, family, dir, if_id); in __xfrm_policy_eval_candidates()
2053 u8 type, u16 family, int dir, u32 if_id) in xfrm_policy_eval_candidates() argument
2061 fl, type, family, dir, in xfrm_policy_eval_candidates()
2076 u16 family, u8 dir, in xfrm_policy_lookup_bytype() argument
2087 daddr = xfrm_flowi_daddr(fl, family); in xfrm_policy_lookup_bytype()
2088 saddr = xfrm_flowi_saddr(fl, family); in xfrm_policy_lookup_bytype()
2096 chain = policy_hash_direct(net, daddr, saddr, family, dir); in xfrm_policy_lookup_bytype()
2101 err = xfrm_policy_match(pol, fl, type, family, dir, if_id); in xfrm_policy_lookup_bytype()
2114 bin = xfrm_policy_inexact_lookup_rcu(net, type, family, dir, if_id); in xfrm_policy_lookup_bytype()
2120 family, dir, if_id); in xfrm_policy_lookup_bytype()
2141 u16 family, u8 dir, u32 if_id) in xfrm_policy_lookup() argument
2146 pol = xfrm_policy_lookup_bytype(net, XFRM_POLICY_TYPE_SUB, fl, family, in xfrm_policy_lookup()
2151 return xfrm_policy_lookup_bytype(net, XFRM_POLICY_TYPE_MAIN, fl, family, in xfrm_policy_lookup()
2157 u16 family, u32 if_id) in xfrm_sk_policy_lookup() argument
2168 if (pol->family != family) { in xfrm_sk_policy_lookup()
2173 match = xfrm_selector_match(&pol->selector, fl, family); in xfrm_sk_policy_lookup()
2311 newp->family = old->family; in clone_policy()
2346 xfrm_address_t *remote, unsigned short family, u32 mark) in xfrm_get_saddr() argument
2349 const struct xfrm_policy_afinfo *afinfo = xfrm_policy_get_afinfo(family); in xfrm_get_saddr()
2362 struct xfrm_state **xfrm, unsigned short family) in xfrm_tmpl_resolve_one() argument
2367 xfrm_address_t *daddr = xfrm_flowi_daddr(fl, family); in xfrm_tmpl_resolve_one()
2368 xfrm_address_t *saddr = xfrm_flowi_saddr(fl, family); in xfrm_tmpl_resolve_one()
2392 family, policy->if_id); in xfrm_tmpl_resolve_one()
2421 struct xfrm_state **xfrm, unsigned short family) in xfrm_tmpl_resolve() argument
2436 ret = xfrm_tmpl_resolve_one(pols[i], fl, &tpp[cnx], family); in xfrm_tmpl_resolve()
2446 xfrm_state_sort(xfrm, tpp, cnx, family); in xfrm_tmpl_resolve()
2457 static int xfrm_get_tos(const struct flowi *fl, int family) in xfrm_get_tos() argument
2459 if (family == AF_INET) in xfrm_get_tos()
2465 static inline struct xfrm_dst *xfrm_alloc_dst(struct net *net, int family) in xfrm_alloc_dst() argument
2467 const struct xfrm_policy_afinfo *afinfo = xfrm_policy_get_afinfo(family); in xfrm_alloc_dst()
2474 switch (family) { in xfrm_alloc_dst()
2503 if (dst->ops->family == AF_INET6) { in xfrm_init_path()
2514 xfrm_policy_get_afinfo(xdst->u.dst.ops->family); in xfrm_fill_dst()
2552 int family = policy->selector.family; in xfrm_bundle_create() local
2555 xfrm_flowi_addr_get(fl, &saddr, &daddr, family); in xfrm_bundle_create()
2557 tos = xfrm_get_tos(fl, family); in xfrm_bundle_create()
2562 struct xfrm_dst *xdst = xfrm_alloc_dst(net, family); in xfrm_bundle_create()
2580 if (xfrm[i]->sel.family == AF_UNSPEC) { in xfrm_bundle_create()
2582 xfrm_af2proto(family)); in xfrm_bundle_create()
2600 family = xfrm[i]->props.family; in xfrm_bundle_create()
2602 &saddr, &daddr, family, mark); in xfrm_bundle_create()
2619 afinfo = xfrm_state_afinfo_get_rcu(inner_mode->family); in xfrm_bundle_create()
2669 static int xfrm_expand_policies(const struct flowi *fl, u16 family, in xfrm_expand_policies() argument
2690 fl, family, in xfrm_expand_policies()
2716 const struct flowi *fl, u16 family, in xfrm_resolve_and_create_bundle() argument
2727 err = xfrm_tmpl_resolve(pols, num_pols, fl, xfrm, family); in xfrm_resolve_and_create_bundle()
2771 xfrm_decode_session(skb, &fl, dst->ops->family); in xfrm_policy_queue_process()
2803 xfrm_decode_session(skb, &fl, skb_dst(skb)->ops->family); in xfrm_policy_queue_process()
2874 u16 family) in xfrm_create_dummy_bundle() argument
2882 xdst = xfrm_alloc_dst(net, family); in xfrm_create_dummy_bundle()
2931 u16 family, u8 dir, in xfrm_bundle_lookup() argument
2941 pols[0] = xfrm_policy_lookup(net, fl, family, dir, if_id); in xfrm_bundle_lookup()
2942 err = xfrm_expand_policies(fl, family, pols, in xfrm_bundle_lookup()
2951 xdst = xfrm_resolve_and_create_bundle(pols, num_pols, fl, family, in xfrm_bundle_lookup()
2974 xdst = xfrm_create_dummy_bundle(net, xflo, fl, num_xfrms, family); in xfrm_bundle_lookup()
2992 static struct dst_entry *make_blackhole(struct net *net, u16 family, in make_blackhole() argument
2995 const struct xfrm_policy_afinfo *afinfo = xfrm_policy_get_afinfo(family); in make_blackhole()
3026 u16 family = dst_orig->ops->family; in xfrm_lookup_with_ifid() local
3037 pols[0] = xfrm_sk_policy_lookup(sk, XFRM_POLICY_OUT, fl, family, in xfrm_lookup_with_ifid()
3039 err = xfrm_expand_policies(fl, family, pols, in xfrm_lookup_with_ifid()
3052 family, dst_orig); in xfrm_lookup_with_ifid()
3082 xdst = xfrm_bundle_lookup(net, fl, family, dir, &xflo, if_id); in xfrm_lookup_with_ifid()
3190 return make_blackhole(net, dst_orig->ops->family, dst_orig); in xfrm_lookup_route()
3221 unsigned short family) in xfrm_state_ok() argument
3232 xfrm_state_addr_cmp(tmpl, x, family)); in xfrm_state_ok()
3244 unsigned short family) in xfrm_policy_ok() argument
3254 if (xfrm_state_ok(tmpl, sp->xvec[idx], family)) in xfrm_policy_ok()
3474 unsigned int family, int reverse) in __xfrm_decode_session() argument
3476 switch (family) { in __xfrm_decode_session()
3506 unsigned short family) in __xfrm_policy_check() argument
3526 xi = ifcb->decode_session(skb, family); in __xfrm_policy_check()
3537 if (__xfrm_decode_session(skb, &fl, family, reverse) < 0) { in __xfrm_policy_check()
3542 nf_nat_decode_session(skb, &fl, family); in __xfrm_policy_check()
3551 if (!xfrm_selector_match(&x->sel, &fl, family)) { in __xfrm_policy_check()
3561 pol = xfrm_sk_policy_lookup(sk, dir, &fl, family, if_id); in __xfrm_policy_check()
3569 pol = xfrm_policy_lookup(net, &fl, family, dir, if_id); in __xfrm_policy_check()
3592 &fl, family, in __xfrm_policy_check()
3632 xfrm_tmpl_sort(stp, tpp, xfrm_nr, family); in __xfrm_policy_check()
3643 k = xfrm_policy_ok(tpp[i], sp, k, family); in __xfrm_policy_check()
3671 int __xfrm_route_forward(struct sk_buff *skb, unsigned short family) in __xfrm_route_forward() argument
3678 if (xfrm_decode_session(skb, &fl, family) < 0) { in __xfrm_route_forward()
3905 int xfrm_policy_register_afinfo(const struct xfrm_policy_afinfo *afinfo, int family) in xfrm_policy_register_afinfo() argument
3909 if (WARN_ON(family >= ARRAY_SIZE(xfrm_policy_afinfo))) in xfrm_policy_register_afinfo()
3913 if (unlikely(xfrm_policy_afinfo[family] != NULL)) in xfrm_policy_register_afinfo()
3933 rcu_assign_pointer(xfrm_policy_afinfo[family], afinfo); in xfrm_policy_register_afinfo()
4175 switch (sel->family) { in xfrm_audit_common_policyinfo()
4234 if (sel_tgt->family == sel_cmp->family && in xfrm_migrate_selector_match()
4236 sel_cmp->family) && in xfrm_migrate_selector_match()
4238 sel_cmp->family) && in xfrm_migrate_selector_match()
4259 chain = policy_hash_direct(net, &sel->daddr, &sel->saddr, sel->family, dir); in xfrm_migrate_policy_find()