Lines Matching refs:pol
1995 parse_ipsecrequests(struct xfrm_policy *xp, struct sadb_x_policy *pol) in parse_ipsecrequests() argument
1998 int len = pol->sadb_x_policy_len*8 - sizeof(struct sadb_x_policy); in parse_ipsecrequests()
1999 struct sadb_x_ipsecrequest *rq = (void*)(pol+1); in parse_ipsecrequests()
2001 if (pol->sadb_x_policy_len * 8 < sizeof(struct sadb_x_policy)) in parse_ipsecrequests()
2070 struct sadb_x_policy *pol; in pfkey_xfrm_policy2msg() local
2141 pol = skb_put(skb, sizeof(struct sadb_x_policy)); in pfkey_xfrm_policy2msg()
2142 pol->sadb_x_policy_len = sizeof(struct sadb_x_policy)/sizeof(uint64_t); in pfkey_xfrm_policy2msg()
2143 pol->sadb_x_policy_exttype = SADB_X_EXT_POLICY; in pfkey_xfrm_policy2msg()
2144 pol->sadb_x_policy_type = IPSEC_POLICY_DISCARD; in pfkey_xfrm_policy2msg()
2147 pol->sadb_x_policy_type = IPSEC_POLICY_IPSEC; in pfkey_xfrm_policy2msg()
2149 pol->sadb_x_policy_type = IPSEC_POLICY_NONE; in pfkey_xfrm_policy2msg()
2151 pol->sadb_x_policy_dir = dir+1; in pfkey_xfrm_policy2msg()
2152 pol->sadb_x_policy_reserved = 0; in pfkey_xfrm_policy2msg()
2153 pol->sadb_x_policy_id = xp->index; in pfkey_xfrm_policy2msg()
2154 pol->sadb_x_policy_priority = xp->priority; in pfkey_xfrm_policy2msg()
2170 pol->sadb_x_policy_len += req_size/8; in pfkey_xfrm_policy2msg()
2252 struct sadb_x_policy *pol; in pfkey_spdadd() local
2262 pol = ext_hdrs[SADB_X_EXT_POLICY-1]; in pfkey_spdadd()
2263 if (pol->sadb_x_policy_type > IPSEC_POLICY_IPSEC) in pfkey_spdadd()
2265 if (!pol->sadb_x_policy_dir || pol->sadb_x_policy_dir >= IPSEC_DIR_MAX) in pfkey_spdadd()
2272 xp->action = (pol->sadb_x_policy_type == IPSEC_POLICY_DISCARD ? in pfkey_spdadd()
2274 xp->priority = pol->sadb_x_policy_priority; in pfkey_spdadd()
2331 if (pol->sadb_x_policy_type == IPSEC_POLICY_IPSEC && in pfkey_spdadd()
2332 (err = parse_ipsecrequests(xp, pol)) < 0) in pfkey_spdadd()
2335 err = xfrm_policy_insert(pol->sadb_x_policy_dir-1, xp, in pfkey_spdadd()
2351 km_policy_notify(xp, pol->sadb_x_policy_dir-1, &c); in pfkey_spdadd()
2366 struct sadb_x_policy *pol; in pfkey_spddelete() local
2378 pol = ext_hdrs[SADB_X_EXT_POLICY-1]; in pfkey_spddelete()
2379 if (!pol->sadb_x_policy_dir || pol->sadb_x_policy_dir >= IPSEC_DIR_MAX) in pfkey_spddelete()
2414 pol->sadb_x_policy_dir - 1, &sel, pol_ctx, in pfkey_spddelete()
2429 km_policy_notify(xp, pol->sadb_x_policy_dir-1, &c); in pfkey_spddelete()
2554 struct sadb_x_policy *pol; in pfkey_migrate() local
2569 pol = ext_hdrs[SADB_X_EXT_POLICY - 1]; in pfkey_migrate()
2571 if (pol->sadb_x_policy_dir >= IPSEC_DIR_MAX) { in pfkey_migrate()
2588 dir = pol->sadb_x_policy_dir - 1; in pfkey_migrate()
2609 rq = (struct sadb_x_ipsecrequest *)(pol + 1); in pfkey_migrate()
2613 len = pol->sadb_x_policy_len * 8 - sizeof(struct sadb_x_policy); in pfkey_migrate()
2652 struct sadb_x_policy *pol; in pfkey_spdget() local
2656 if ((pol = ext_hdrs[SADB_X_EXT_POLICY-1]) == NULL) in pfkey_spdget()
2659 dir = xfrm_policy_id2dir(pol->sadb_x_policy_id); in pfkey_spdget()
2665 dir, pol->sadb_x_policy_id, delete, &err); in pfkey_spdget()
3159 struct sadb_x_policy *pol; in pfkey_send_acquire() local
3230 pol = skb_put(skb, sizeof(struct sadb_x_policy)); in pfkey_send_acquire()
3231 pol->sadb_x_policy_len = sizeof(struct sadb_x_policy)/sizeof(uint64_t); in pfkey_send_acquire()
3232 pol->sadb_x_policy_exttype = SADB_X_EXT_POLICY; in pfkey_send_acquire()
3233 pol->sadb_x_policy_type = IPSEC_POLICY_IPSEC; in pfkey_send_acquire()
3234 pol->sadb_x_policy_dir = XFRM_POLICY_OUT + 1; in pfkey_send_acquire()
3235 pol->sadb_x_policy_reserved = 0; in pfkey_send_acquire()
3236 pol->sadb_x_policy_id = xp->index; in pfkey_send_acquire()
3237 pol->sadb_x_policy_priority = xp->priority; in pfkey_send_acquire()
3271 struct sadb_x_policy *pol = (struct sadb_x_policy*)data; in pfkey_compile_policy() local
3297 pol->sadb_x_policy_len*8 > len || in pfkey_compile_policy()
3298 pol->sadb_x_policy_type > IPSEC_POLICY_BYPASS || in pfkey_compile_policy()
3299 (!pol->sadb_x_policy_dir || pol->sadb_x_policy_dir > IPSEC_DIR_OUTBOUND)) in pfkey_compile_policy()
3308 xp->action = (pol->sadb_x_policy_type == IPSEC_POLICY_DISCARD ? in pfkey_compile_policy()
3318 if (pol->sadb_x_policy_type == IPSEC_POLICY_IPSEC && in pfkey_compile_policy()
3319 (*dir = parse_ipsecrequests(xp, pol)) < 0) in pfkey_compile_policy()
3323 if (len >= (pol->sadb_x_policy_len*8 + in pfkey_compile_policy()
3325 char *p = (char *)pol; in pfkey_compile_policy()
3328 p += pol->sadb_x_policy_len*8; in pfkey_compile_policy()
3330 if (len < pol->sadb_x_policy_len*8 + in pfkey_compile_policy()
3345 *dir = pol->sadb_x_policy_dir-1; in pfkey_compile_policy()
3560 struct sadb_x_policy *pol; in pfkey_send_migrate() local
3622 pol = skb_put(skb, sizeof(struct sadb_x_policy)); in pfkey_send_migrate()
3623 pol->sadb_x_policy_len = size_pol / 8; in pfkey_send_migrate()
3624 pol->sadb_x_policy_exttype = SADB_X_EXT_POLICY; in pfkey_send_migrate()
3625 pol->sadb_x_policy_type = IPSEC_POLICY_IPSEC; in pfkey_send_migrate()
3626 pol->sadb_x_policy_dir = dir + 1; in pfkey_send_migrate()
3627 pol->sadb_x_policy_reserved = 0; in pfkey_send_migrate()
3628 pol->sadb_x_policy_id = 0; in pfkey_send_migrate()
3629 pol->sadb_x_policy_priority = 0; in pfkey_send_migrate()