Lines Matching refs:pol
1999 parse_ipsecrequests(struct xfrm_policy *xp, struct sadb_x_policy *pol) in parse_ipsecrequests() argument
2002 int len = pol->sadb_x_policy_len*8 - sizeof(struct sadb_x_policy); in parse_ipsecrequests()
2003 struct sadb_x_ipsecrequest *rq = (void*)(pol+1); in parse_ipsecrequests()
2005 if (pol->sadb_x_policy_len * 8 < sizeof(struct sadb_x_policy)) in parse_ipsecrequests()
2074 struct sadb_x_policy *pol; in pfkey_xfrm_policy2msg() local
2145 pol = skb_put(skb, sizeof(struct sadb_x_policy)); in pfkey_xfrm_policy2msg()
2146 pol->sadb_x_policy_len = sizeof(struct sadb_x_policy)/sizeof(uint64_t); in pfkey_xfrm_policy2msg()
2147 pol->sadb_x_policy_exttype = SADB_X_EXT_POLICY; in pfkey_xfrm_policy2msg()
2148 pol->sadb_x_policy_type = IPSEC_POLICY_DISCARD; in pfkey_xfrm_policy2msg()
2151 pol->sadb_x_policy_type = IPSEC_POLICY_IPSEC; in pfkey_xfrm_policy2msg()
2153 pol->sadb_x_policy_type = IPSEC_POLICY_NONE; in pfkey_xfrm_policy2msg()
2155 pol->sadb_x_policy_dir = dir+1; in pfkey_xfrm_policy2msg()
2156 pol->sadb_x_policy_reserved = 0; in pfkey_xfrm_policy2msg()
2157 pol->sadb_x_policy_id = xp->index; in pfkey_xfrm_policy2msg()
2158 pol->sadb_x_policy_priority = xp->priority; in pfkey_xfrm_policy2msg()
2174 pol->sadb_x_policy_len += req_size/8; in pfkey_xfrm_policy2msg()
2256 struct sadb_x_policy *pol; in pfkey_spdadd() local
2266 pol = ext_hdrs[SADB_X_EXT_POLICY-1]; in pfkey_spdadd()
2267 if (pol->sadb_x_policy_type > IPSEC_POLICY_IPSEC) in pfkey_spdadd()
2269 if (!pol->sadb_x_policy_dir || pol->sadb_x_policy_dir >= IPSEC_DIR_MAX) in pfkey_spdadd()
2276 xp->action = (pol->sadb_x_policy_type == IPSEC_POLICY_DISCARD ? in pfkey_spdadd()
2278 xp->priority = pol->sadb_x_policy_priority; in pfkey_spdadd()
2335 if (pol->sadb_x_policy_type == IPSEC_POLICY_IPSEC && in pfkey_spdadd()
2336 (err = parse_ipsecrequests(xp, pol)) < 0) in pfkey_spdadd()
2339 err = xfrm_policy_insert(pol->sadb_x_policy_dir-1, xp, in pfkey_spdadd()
2355 km_policy_notify(xp, pol->sadb_x_policy_dir-1, &c); in pfkey_spdadd()
2370 struct sadb_x_policy *pol; in pfkey_spddelete() local
2382 pol = ext_hdrs[SADB_X_EXT_POLICY-1]; in pfkey_spddelete()
2383 if (!pol->sadb_x_policy_dir || pol->sadb_x_policy_dir >= IPSEC_DIR_MAX) in pfkey_spddelete()
2418 pol->sadb_x_policy_dir - 1, &sel, pol_ctx, in pfkey_spddelete()
2433 km_policy_notify(xp, pol->sadb_x_policy_dir-1, &c); in pfkey_spddelete()
2556 struct sadb_x_policy *pol; in pfkey_migrate() local
2571 pol = ext_hdrs[SADB_X_EXT_POLICY - 1]; in pfkey_migrate()
2573 if (pol->sadb_x_policy_dir >= IPSEC_DIR_MAX) { in pfkey_migrate()
2590 dir = pol->sadb_x_policy_dir - 1; in pfkey_migrate()
2611 rq = (struct sadb_x_ipsecrequest *)(pol + 1); in pfkey_migrate()
2615 len = pol->sadb_x_policy_len * 8 - sizeof(struct sadb_x_policy); in pfkey_migrate()
2654 struct sadb_x_policy *pol; in pfkey_spdget() local
2658 if ((pol = ext_hdrs[SADB_X_EXT_POLICY-1]) == NULL) in pfkey_spdget()
2661 dir = xfrm_policy_id2dir(pol->sadb_x_policy_id); in pfkey_spdget()
2667 dir, pol->sadb_x_policy_id, delete, &err); in pfkey_spdget()
3147 struct sadb_x_policy *pol; in pfkey_send_acquire() local
3217 pol = skb_put(skb, sizeof(struct sadb_x_policy)); in pfkey_send_acquire()
3218 pol->sadb_x_policy_len = sizeof(struct sadb_x_policy)/sizeof(uint64_t); in pfkey_send_acquire()
3219 pol->sadb_x_policy_exttype = SADB_X_EXT_POLICY; in pfkey_send_acquire()
3220 pol->sadb_x_policy_type = IPSEC_POLICY_IPSEC; in pfkey_send_acquire()
3221 pol->sadb_x_policy_dir = XFRM_POLICY_OUT + 1; in pfkey_send_acquire()
3222 pol->sadb_x_policy_reserved = 0; in pfkey_send_acquire()
3223 pol->sadb_x_policy_id = xp->index; in pfkey_send_acquire()
3224 pol->sadb_x_policy_priority = xp->priority; in pfkey_send_acquire()
3255 struct sadb_x_policy *pol = (struct sadb_x_policy*)data; in pfkey_compile_policy() local
3281 pol->sadb_x_policy_len*8 > len || in pfkey_compile_policy()
3282 pol->sadb_x_policy_type > IPSEC_POLICY_BYPASS || in pfkey_compile_policy()
3283 (!pol->sadb_x_policy_dir || pol->sadb_x_policy_dir > IPSEC_DIR_OUTBOUND)) in pfkey_compile_policy()
3292 xp->action = (pol->sadb_x_policy_type == IPSEC_POLICY_DISCARD ? in pfkey_compile_policy()
3302 if (pol->sadb_x_policy_type == IPSEC_POLICY_IPSEC && in pfkey_compile_policy()
3303 (*dir = parse_ipsecrequests(xp, pol)) < 0) in pfkey_compile_policy()
3307 if (len >= (pol->sadb_x_policy_len*8 + in pfkey_compile_policy()
3309 char *p = (char *)pol; in pfkey_compile_policy()
3312 p += pol->sadb_x_policy_len*8; in pfkey_compile_policy()
3314 if (len < pol->sadb_x_policy_len*8 + in pfkey_compile_policy()
3329 *dir = pol->sadb_x_policy_dir-1; in pfkey_compile_policy()
3544 struct sadb_x_policy *pol; in pfkey_send_migrate() local
3606 pol = skb_put(skb, sizeof(struct sadb_x_policy)); in pfkey_send_migrate()
3607 pol->sadb_x_policy_len = size_pol / 8; in pfkey_send_migrate()
3608 pol->sadb_x_policy_exttype = SADB_X_EXT_POLICY; in pfkey_send_migrate()
3609 pol->sadb_x_policy_type = IPSEC_POLICY_IPSEC; in pfkey_send_migrate()
3610 pol->sadb_x_policy_dir = dir + 1; in pfkey_send_migrate()
3611 pol->sadb_x_policy_reserved = 0; in pfkey_send_migrate()
3612 pol->sadb_x_policy_id = 0; in pfkey_send_migrate()
3613 pol->sadb_x_policy_priority = 0; in pfkey_send_migrate()