Lines Matching refs:chain
181 xfrm_policy_insert_list(struct hlist_head *chain, struct xfrm_policy *policy,
183 static void xfrm_policy_insert_inexact_list(struct hlist_head *chain,
1190 struct hlist_head *chain; in xfrm_policy_inexact_insert() local
1200 chain = xfrm_policy_inexact_alloc_chain(bin, policy, dir); in xfrm_policy_inexact_insert()
1201 if (!chain) { in xfrm_policy_inexact_insert()
1206 delpol = xfrm_policy_insert_list(chain, policy, excl); in xfrm_policy_inexact_insert()
1212 chain = &net->xfrm.policy_inexact[dir]; in xfrm_policy_inexact_insert()
1213 xfrm_policy_insert_inexact_list(chain, policy); in xfrm_policy_inexact_insert()
1228 struct hlist_head *chain; in xfrm_hash_rebuild() local
1334 chain = policy_hash_bysel(net, &policy->selector, in xfrm_hash_rebuild()
1337 if (!chain) { in xfrm_hash_rebuild()
1344 hlist_for_each_entry(pol, chain, bydst) { in xfrm_hash_rebuild()
1353 hlist_add_head_rcu(&policy->bydst, chain); in xfrm_hash_rebuild()
1502 static void xfrm_policy_insert_inexact_list(struct hlist_head *chain, in xfrm_policy_insert_inexact_list() argument
1509 hlist_for_each_entry(pol, chain, bydst_inexact_list) { in xfrm_policy_insert_inexact_list()
1530 hlist_add_head_rcu(&policy->bydst_inexact_list, chain); in xfrm_policy_insert_inexact_list()
1532 hlist_for_each_entry(pol, chain, bydst_inexact_list) { in xfrm_policy_insert_inexact_list()
1538 static struct xfrm_policy *xfrm_policy_insert_list(struct hlist_head *chain, in xfrm_policy_insert_list() argument
1544 hlist_for_each_entry(pol, chain, bydst) { in xfrm_policy_insert_list()
1567 hlist_add_head_rcu(&policy->bydst, chain); in xfrm_policy_insert_list()
1576 struct hlist_head *chain; in xfrm_policy_insert() local
1579 chain = policy_hash_bysel(net, &policy->selector, policy->family, dir); in xfrm_policy_insert()
1580 if (chain) in xfrm_policy_insert()
1581 delpol = xfrm_policy_insert_list(chain, policy, excl); in xfrm_policy_insert()
1620 __xfrm_policy_bysel_ctx(struct hlist_head *chain, const struct xfrm_mark *mark, in __xfrm_policy_bysel_ctx() argument
1626 if (!chain) in __xfrm_policy_bysel_ctx()
1629 hlist_for_each_entry(pol, chain, bydst) { in __xfrm_policy_bysel_ctx()
1648 struct hlist_head *chain; in xfrm_policy_bysel_ctx() local
1652 chain = policy_hash_bysel(net, sel, sel->family, dir); in xfrm_policy_bysel_ctx()
1653 if (!chain) { in xfrm_policy_bysel_ctx()
1685 pol = __xfrm_policy_bysel_ctx(chain, mark, if_id, type, dir, in xfrm_policy_bysel_ctx()
1716 struct hlist_head *chain; in xfrm_policy_byid() local
1724 chain = net->xfrm.policy_byidx + idx_hash(net, id); in xfrm_policy_byid()
1726 hlist_for_each_entry(pol, chain, byidx) { in xfrm_policy_byid()
2014 __xfrm_policy_eval_candidates(struct hlist_head *chain, in __xfrm_policy_eval_candidates() argument
2022 if (!chain) in __xfrm_policy_eval_candidates()
2025 hlist_for_each_entry_rcu(pol, chain, bydst) { in __xfrm_policy_eval_candidates()
2086 struct hlist_head *chain; in xfrm_policy_lookup_bytype() local
2099 chain = policy_hash_direct(net, daddr, saddr, family, dir); in xfrm_policy_lookup_bytype()
2103 hlist_for_each_entry_rcu(pol, chain, bydst) { in xfrm_policy_lookup_bytype()
4280 struct hlist_head *chain; in xfrm_migrate_policy_find() local
4284 chain = policy_hash_direct(net, &sel->daddr, &sel->saddr, sel->family, dir); in xfrm_migrate_policy_find()
4285 hlist_for_each_entry(pol, chain, bydst) { in xfrm_migrate_policy_find()
4294 chain = &net->xfrm.policy_inexact[dir]; in xfrm_migrate_policy_find()
4295 hlist_for_each_entry(pol, chain, bydst_inexact_list) { in xfrm_migrate_policy_find()