Lines Matching refs:pol

1947 parse_ipsecrequest(struct xfrm_policy *xp, struct sadb_x_policy *pol,
1968 pol->sadb_x_policy_dir == IPSEC_DIR_OUTBOUND)
1999 parse_ipsecrequests(struct xfrm_policy *xp, struct sadb_x_policy *pol)
2002 int len = pol->sadb_x_policy_len*8 - sizeof(struct sadb_x_policy);
2003 struct sadb_x_ipsecrequest *rq = (void*)(pol+1);
2005 if (pol->sadb_x_policy_len * 8 < sizeof(struct sadb_x_policy))
2013 if ((err = parse_ipsecrequest(xp, pol, rq)) < 0)
2074 struct sadb_x_policy *pol;
2145 pol = skb_put(skb, sizeof(struct sadb_x_policy));
2146 pol->sadb_x_policy_len = sizeof(struct sadb_x_policy)/sizeof(uint64_t);
2147 pol->sadb_x_policy_exttype = SADB_X_EXT_POLICY;
2148 pol->sadb_x_policy_type = IPSEC_POLICY_DISCARD;
2151 pol->sadb_x_policy_type = IPSEC_POLICY_IPSEC;
2153 pol->sadb_x_policy_type = IPSEC_POLICY_NONE;
2155 pol->sadb_x_policy_dir = dir+1;
2156 pol->sadb_x_policy_reserved = 0;
2157 pol->sadb_x_policy_id = xp->index;
2158 pol->sadb_x_policy_priority = xp->priority;
2174 pol->sadb_x_policy_len += req_size/8;
2256 struct sadb_x_policy *pol;
2266 pol = ext_hdrs[SADB_X_EXT_POLICY-1];
2267 if (pol->sadb_x_policy_type > IPSEC_POLICY_IPSEC)
2269 if (!pol->sadb_x_policy_dir || pol->sadb_x_policy_dir >= IPSEC_DIR_MAX)
2276 xp->action = (pol->sadb_x_policy_type == IPSEC_POLICY_DISCARD ?
2278 xp->priority = pol->sadb_x_policy_priority;
2335 if (pol->sadb_x_policy_type == IPSEC_POLICY_IPSEC &&
2336 (err = parse_ipsecrequests(xp, pol)) < 0)
2339 err = xfrm_policy_insert(pol->sadb_x_policy_dir-1, xp,
2355 km_policy_notify(xp, pol->sadb_x_policy_dir-1, &c);
2370 struct sadb_x_policy *pol;
2382 pol = ext_hdrs[SADB_X_EXT_POLICY-1];
2383 if (!pol->sadb_x_policy_dir || pol->sadb_x_policy_dir >= IPSEC_DIR_MAX)
2418 pol->sadb_x_policy_dir - 1, &sel, pol_ctx,
2433 km_policy_notify(xp, pol->sadb_x_policy_dir-1, &c);
2558 struct sadb_x_policy *pol;
2573 pol = ext_hdrs[SADB_X_EXT_POLICY - 1];
2575 if (pol->sadb_x_policy_dir >= IPSEC_DIR_MAX) {
2592 dir = pol->sadb_x_policy_dir - 1;
2613 rq = (struct sadb_x_ipsecrequest *)(pol + 1);
2617 len = pol->sadb_x_policy_len * 8 - sizeof(struct sadb_x_policy);
2656 struct sadb_x_policy *pol;
2660 if ((pol = ext_hdrs[SADB_X_EXT_POLICY-1]) == NULL)
2663 dir = xfrm_policy_id2dir(pol->sadb_x_policy_id);
2669 dir, pol->sadb_x_policy_id, delete, &err);
3163 struct sadb_x_policy *pol;
3234 pol = skb_put(skb, sizeof(struct sadb_x_policy));
3235 pol->sadb_x_policy_len = sizeof(struct sadb_x_policy)/sizeof(uint64_t);
3236 pol->sadb_x_policy_exttype = SADB_X_EXT_POLICY;
3237 pol->sadb_x_policy_type = IPSEC_POLICY_IPSEC;
3238 pol->sadb_x_policy_dir = XFRM_POLICY_OUT + 1;
3239 pol->sadb_x_policy_reserved = 0;
3240 pol->sadb_x_policy_id = xp->index;
3241 pol->sadb_x_policy_priority = xp->priority;
3275 struct sadb_x_policy *pol = (struct sadb_x_policy*)data;
3301 pol->sadb_x_policy_len*8 > len ||
3302 pol->sadb_x_policy_type > IPSEC_POLICY_BYPASS ||
3303 (!pol->sadb_x_policy_dir || pol->sadb_x_policy_dir > IPSEC_DIR_OUTBOUND))
3312 xp->action = (pol->sadb_x_policy_type == IPSEC_POLICY_DISCARD ?
3322 if (pol->sadb_x_policy_type == IPSEC_POLICY_IPSEC &&
3323 (*dir = parse_ipsecrequests(xp, pol)) < 0)
3327 if (len >= (pol->sadb_x_policy_len*8 +
3329 char *p = (char *)pol;
3332 p += pol->sadb_x_policy_len*8;
3334 if (len < pol->sadb_x_policy_len*8 +
3349 *dir = pol->sadb_x_policy_dir-1;
3564 struct sadb_x_policy *pol;
3626 pol = skb_put(skb, sizeof(struct sadb_x_policy));
3627 pol->sadb_x_policy_len = size_pol / 8;
3628 pol->sadb_x_policy_exttype = SADB_X_EXT_POLICY;
3629 pol->sadb_x_policy_type = IPSEC_POLICY_IPSEC;
3630 pol->sadb_x_policy_dir = dir + 1;
3631 pol->sadb_x_policy_reserved = 0;
3632 pol->sadb_x_policy_id = 0;
3633 pol->sadb_x_policy_priority = 0;