Lines Matching refs:pol
1980 parse_ipsecrequests(struct xfrm_policy *xp, struct sadb_x_policy *pol) in parse_ipsecrequests() argument
1983 int len = pol->sadb_x_policy_len*8 - sizeof(struct sadb_x_policy); in parse_ipsecrequests()
1984 struct sadb_x_ipsecrequest *rq = (void*)(pol+1); in parse_ipsecrequests()
1986 if (pol->sadb_x_policy_len * 8 < sizeof(struct sadb_x_policy)) in parse_ipsecrequests()
2055 struct sadb_x_policy *pol; in pfkey_xfrm_policy2msg() local
2131 pol = (struct sadb_x_policy *) skb_put(skb, sizeof(struct sadb_x_policy)); in pfkey_xfrm_policy2msg()
2132 pol->sadb_x_policy_len = sizeof(struct sadb_x_policy)/sizeof(uint64_t); in pfkey_xfrm_policy2msg()
2133 pol->sadb_x_policy_exttype = SADB_X_EXT_POLICY; in pfkey_xfrm_policy2msg()
2134 pol->sadb_x_policy_type = IPSEC_POLICY_DISCARD; in pfkey_xfrm_policy2msg()
2137 pol->sadb_x_policy_type = IPSEC_POLICY_IPSEC; in pfkey_xfrm_policy2msg()
2139 pol->sadb_x_policy_type = IPSEC_POLICY_NONE; in pfkey_xfrm_policy2msg()
2141 pol->sadb_x_policy_dir = dir+1; in pfkey_xfrm_policy2msg()
2142 pol->sadb_x_policy_reserved = 0; in pfkey_xfrm_policy2msg()
2143 pol->sadb_x_policy_id = xp->index; in pfkey_xfrm_policy2msg()
2144 pol->sadb_x_policy_priority = xp->priority; in pfkey_xfrm_policy2msg()
2160 pol->sadb_x_policy_len += req_size/8; in pfkey_xfrm_policy2msg()
2240 struct sadb_x_policy *pol; in pfkey_spdadd() local
2250 pol = ext_hdrs[SADB_X_EXT_POLICY-1]; in pfkey_spdadd()
2251 if (pol->sadb_x_policy_type > IPSEC_POLICY_IPSEC) in pfkey_spdadd()
2253 if (!pol->sadb_x_policy_dir || pol->sadb_x_policy_dir >= IPSEC_DIR_MAX) in pfkey_spdadd()
2260 xp->action = (pol->sadb_x_policy_type == IPSEC_POLICY_DISCARD ? in pfkey_spdadd()
2262 xp->priority = pol->sadb_x_policy_priority; in pfkey_spdadd()
2319 if (pol->sadb_x_policy_type == IPSEC_POLICY_IPSEC && in pfkey_spdadd()
2320 (err = parse_ipsecrequests(xp, pol)) < 0) in pfkey_spdadd()
2323 err = xfrm_policy_insert(pol->sadb_x_policy_dir-1, xp, in pfkey_spdadd()
2339 km_policy_notify(xp, pol->sadb_x_policy_dir-1, &c); in pfkey_spdadd()
2354 struct sadb_x_policy *pol; in pfkey_spddelete() local
2366 pol = ext_hdrs[SADB_X_EXT_POLICY-1]; in pfkey_spddelete()
2367 if (!pol->sadb_x_policy_dir || pol->sadb_x_policy_dir >= IPSEC_DIR_MAX) in pfkey_spddelete()
2402 pol->sadb_x_policy_dir - 1, &sel, pol_ctx, in pfkey_spddelete()
2417 km_policy_notify(xp, pol->sadb_x_policy_dir-1, &c); in pfkey_spddelete()
2542 struct sadb_x_policy *pol; in pfkey_migrate() local
2557 pol = ext_hdrs[SADB_X_EXT_POLICY - 1]; in pfkey_migrate()
2559 if (pol->sadb_x_policy_dir >= IPSEC_DIR_MAX) { in pfkey_migrate()
2576 dir = pol->sadb_x_policy_dir - 1; in pfkey_migrate()
2597 rq = (struct sadb_x_ipsecrequest *)(pol + 1); in pfkey_migrate()
2601 len = pol->sadb_x_policy_len * 8 - sizeof(struct sadb_x_policy); in pfkey_migrate()
2640 struct sadb_x_policy *pol; in pfkey_spdget() local
2644 if ((pol = ext_hdrs[SADB_X_EXT_POLICY-1]) == NULL) in pfkey_spdget()
2647 dir = xfrm_policy_id2dir(pol->sadb_x_policy_id); in pfkey_spdget()
2653 dir, pol->sadb_x_policy_id, delete, &err); in pfkey_spdget()
3135 struct sadb_x_policy *pol; in pfkey_send_acquire() local
3207 pol = (struct sadb_x_policy *) skb_put(skb, sizeof(struct sadb_x_policy)); in pfkey_send_acquire()
3208 pol->sadb_x_policy_len = sizeof(struct sadb_x_policy)/sizeof(uint64_t); in pfkey_send_acquire()
3209 pol->sadb_x_policy_exttype = SADB_X_EXT_POLICY; in pfkey_send_acquire()
3210 pol->sadb_x_policy_type = IPSEC_POLICY_IPSEC; in pfkey_send_acquire()
3211 pol->sadb_x_policy_dir = XFRM_POLICY_OUT + 1; in pfkey_send_acquire()
3212 pol->sadb_x_policy_reserved = 0; in pfkey_send_acquire()
3213 pol->sadb_x_policy_id = xp->index; in pfkey_send_acquire()
3214 pol->sadb_x_policy_priority = xp->priority; in pfkey_send_acquire()
3244 struct sadb_x_policy *pol = (struct sadb_x_policy*)data; in pfkey_compile_policy() local
3270 pol->sadb_x_policy_len*8 > len || in pfkey_compile_policy()
3271 pol->sadb_x_policy_type > IPSEC_POLICY_BYPASS || in pfkey_compile_policy()
3272 (!pol->sadb_x_policy_dir || pol->sadb_x_policy_dir > IPSEC_DIR_OUTBOUND)) in pfkey_compile_policy()
3281 xp->action = (pol->sadb_x_policy_type == IPSEC_POLICY_DISCARD ? in pfkey_compile_policy()
3291 if (pol->sadb_x_policy_type == IPSEC_POLICY_IPSEC && in pfkey_compile_policy()
3292 (*dir = parse_ipsecrequests(xp, pol)) < 0) in pfkey_compile_policy()
3296 if (len >= (pol->sadb_x_policy_len*8 + in pfkey_compile_policy()
3298 char *p = (char *)pol; in pfkey_compile_policy()
3301 p += pol->sadb_x_policy_len*8; in pfkey_compile_policy()
3303 if (len < pol->sadb_x_policy_len*8 + in pfkey_compile_policy()
3318 *dir = pol->sadb_x_policy_dir-1; in pfkey_compile_policy()
3535 struct sadb_x_policy *pol; in pfkey_send_migrate() local
3597 pol = (struct sadb_x_policy *)skb_put(skb, sizeof(struct sadb_x_policy)); in pfkey_send_migrate()
3598 pol->sadb_x_policy_len = size_pol / 8; in pfkey_send_migrate()
3599 pol->sadb_x_policy_exttype = SADB_X_EXT_POLICY; in pfkey_send_migrate()
3600 pol->sadb_x_policy_type = IPSEC_POLICY_IPSEC; in pfkey_send_migrate()
3601 pol->sadb_x_policy_dir = dir + 1; in pfkey_send_migrate()
3602 pol->sadb_x_policy_reserved = 0; in pfkey_send_migrate()
3603 pol->sadb_x_policy_id = 0; in pfkey_send_migrate()
3604 pol->sadb_x_policy_priority = 0; in pfkey_send_migrate()