Lines Matching refs:xfrm_policy
3 * xfrm_policy.c
169 static void __xfrm_policy_link(struct xfrm_policy *pol, int dir);
170 static struct xfrm_policy *__xfrm_policy_unlink(struct xfrm_policy *pol,
180 static struct xfrm_policy *
181 xfrm_policy_insert_list(struct hlist_head *chain, struct xfrm_policy *policy,
184 struct xfrm_policy *policy);
192 static inline bool xfrm_pol_hold_rcu(struct xfrm_policy *policy)
316 struct xfrm_policy *xp = from_timer(xp, t, timer);
384 /* Allocate xfrm_policy. Not used here, it is supposed to be used by pfkeyv2
388 struct xfrm_policy *xfrm_policy_alloc(struct net *net, gfp_t gfp)
390 struct xfrm_policy *policy;
392 policy = kzalloc(sizeof(struct xfrm_policy), gfp);
413 struct xfrm_policy *policy = container_of(head, struct xfrm_policy, rcu);
419 /* Destroy xfrm_policy: descendant resources must be released to this moment. */
421 void xfrm_policy_destroy(struct xfrm_policy *policy)
436 static void xfrm_policy_kill(struct xfrm_policy *policy)
526 struct xfrm_policy *pol;
561 struct xfrm_policy *pol;
696 xfrm_policy_inexact_alloc_bin(const struct xfrm_policy *pol, u8 dir)
754 xfrm_policy_inexact_insert_use_any_list(const struct xfrm_policy *policy)
844 struct xfrm_policy *policy, *p;
932 struct xfrm_policy *tmp;
966 struct xfrm_policy *tmp;
1127 struct xfrm_policy *policy, u8 dir)
1185 static struct xfrm_policy *
1186 xfrm_policy_inexact_insert(struct xfrm_policy *policy, u8 dir, int excl)
1189 struct xfrm_policy *delpol;
1226 struct xfrm_policy *pol;
1227 struct xfrm_policy *policy;
1376 struct xfrm_policy *p;
1418 static void xfrm_policy_requeue(struct xfrm_policy *old,
1419 struct xfrm_policy *new)
1446 struct xfrm_policy *pol)
1501 struct xfrm_policy *policy)
1503 struct xfrm_policy *pol, *delpol = NULL;
1536 static struct xfrm_policy *xfrm_policy_insert_list(struct hlist_head *chain,
1537 struct xfrm_policy *policy,
1540 struct xfrm_policy *pol, *newpos = NULL, *delpol = NULL;
1570 int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl)
1573 struct xfrm_policy *delpol;
1617 static struct xfrm_policy *
1622 struct xfrm_policy *pol;
1639 struct xfrm_policy *
1645 struct xfrm_policy *pol, *ret = NULL;
1671 struct xfrm_policy *tmp;
1709 struct xfrm_policy *
1713 struct xfrm_policy *pol, *ret;
1753 struct xfrm_policy *pol;
1781 struct xfrm_policy *pol;
1816 int (*func)(struct xfrm_policy *, int, int, void*),
1819 struct xfrm_policy *pol;
1840 pol = container_of(x, struct xfrm_policy, walk);
1888 static int xfrm_policy_match(const struct xfrm_policy *pol,
2012 static struct xfrm_policy *
2014 struct xfrm_policy *prefer,
2019 struct xfrm_policy *pol;
2051 static struct xfrm_policy *
2053 struct xfrm_policy *prefer,
2057 struct xfrm_policy *tmp;
2076 static struct xfrm_policy *xfrm_policy_lookup_bytype(struct net *net, u8 type,
2084 struct xfrm_policy *pol, *ret;
2141 static struct xfrm_policy *xfrm_policy_lookup(struct net *net,
2146 struct xfrm_policy *pol;
2157 static struct xfrm_policy *xfrm_sk_policy_lookup(const struct sock *sk, int dir,
2161 struct xfrm_policy *pol;
2201 static void __xfrm_policy_link(struct xfrm_policy *pol, int dir)
2210 static struct xfrm_policy *__xfrm_policy_unlink(struct xfrm_policy *pol,
2231 static void xfrm_sk_policy_link(struct xfrm_policy *pol, int dir)
2236 static void xfrm_sk_policy_unlink(struct xfrm_policy *pol, int dir)
2241 int xfrm_policy_delete(struct xfrm_policy *pol, int dir)
2256 int xfrm_sk_policy_insert(struct sock *sk, int dir, struct xfrm_policy *pol)
2259 struct xfrm_policy *old_pol;
2292 static struct xfrm_policy *clone_policy(const struct xfrm_policy *old, int dir)
2294 struct xfrm_policy *newp = xfrm_policy_alloc(xp_net(old), GFP_ATOMIC);
2326 const struct xfrm_policy *p;
2327 struct xfrm_policy *np;
2363 xfrm_tmpl_resolve_one(struct xfrm_policy *policy, const struct flowi *fl,
2422 xfrm_tmpl_resolve(struct xfrm_policy **pols, int npols, const struct flowi *fl,
2534 static struct dst_entry *xfrm_bundle_create(struct xfrm_policy *policy,
2671 struct xfrm_policy **pols,
2719 xfrm_resolve_and_create_bundle(struct xfrm_policy **pols, int num_pols,
2750 memcpy(xdst->pols, pols, sizeof(struct xfrm_policy *) * num_pols);
2761 struct xfrm_policy *pol = from_timer(pol, t, polq.hold_timer);
2848 struct xfrm_policy *pol = xdst->pols[0];
2949 struct xfrm_policy *pols[XFRM_POLICY_TYPE_MAX];
2996 memcpy(xdst->pols, pols, sizeof(struct xfrm_policy *) * num_pols);
3038 struct xfrm_policy *pols[XFRM_POLICY_TYPE_MAX];
3107 memcpy(pols, xdst->pols, sizeof(struct xfrm_policy *) * num_pols);
3557 struct xfrm_policy *pol;
3558 struct xfrm_policy *pols[XFRM_POLICY_TYPE_MAX];
4227 static void xfrm_audit_common_policyinfo(struct xfrm_policy *xp,
4261 void xfrm_audit_policy_add(struct xfrm_policy *xp, int result, bool task_valid)
4275 void xfrm_audit_policy_delete(struct xfrm_policy *xp, int result,
4313 static struct xfrm_policy *xfrm_migrate_policy_find(const struct xfrm_selector *sel,
4316 struct xfrm_policy *pol, *ret = NULL;
4381 static int xfrm_policy_migrate(struct xfrm_policy *pol,
4456 struct xfrm_policy *pol = NULL;