Lines Matching defs:ipp

171 #define	IS_V6_FRAGMENT(ipp)	(ipp.ipp_fields & IPPF_FRAGHDR)
1140 ipsec_prot_t *ipp;
1143 ipp = &act->ipa_apply;
1145 if (ipp->ipp_use_ah &&
1146 ipss->ipsec_alglists[IPSEC_ALG_AUTH][ipp->ipp_auth_alg] == NULL) {
1150 if (ipp->ipp_use_espa &&
1151 ipss->ipsec_alglists[IPSEC_ALG_AUTH][ipp->ipp_esp_auth_alg] ==
1156 if (ipp->ipp_use_esp &&
1157 ipss->ipsec_alglists[IPSEC_ALG_ENCR][ipp->ipp_encr_alg] == NULL) {
1162 act_alg_adjust(IPSEC_ALG_AUTH, ipp->ipp_auth_alg,
1163 &ipp->ipp_ah_minbits, &ipp->ipp_ah_maxbits, ns);
1164 act_alg_adjust(IPSEC_ALG_AUTH, ipp->ipp_esp_auth_alg,
1165 &ipp->ipp_espa_minbits, &ipp->ipp_espa_maxbits, ns);
1166 act_alg_adjust(IPSEC_ALG_ENCR, ipp->ipp_encr_alg,
1167 &ipp->ipp_espe_minbits, &ipp->ipp_espe_maxbits, ns);
1169 if (ipp->ipp_ah_minbits > ipp->ipp_ah_maxbits) {
1173 if (ipp->ipp_espa_minbits > ipp->ipp_espa_maxbits) {
1177 if (ipp->ipp_espe_minbits > ipp->ipp_espe_maxbits) {
1192 ipsec_prot_t *ipp;
1195 ipp = &outact->ipa_apply;
1196 ipp->ipp_auth_alg = (uint8_t)auth_alg;
1197 ipp->ipp_encr_alg = (uint8_t)encr_alg;
1198 ipp->ipp_esp_auth_alg = (uint8_t)eauth_alg;
1201 &ipp->ipp_ah_minbits, &ipp->ipp_ah_maxbits, ns);
1203 &ipp->ipp_espa_minbits, &ipp->ipp_espa_maxbits, ns);
1205 &ipp->ipp_espe_minbits, &ipp->ipp_espe_maxbits, ns);
1340 ipsec_prot_from_req(const ipsec_req_t *req, ipsec_prot_t *ipp)
1342 bzero(ipp, sizeof (*ipp));
1347 ipp->ipp_use_ah = !!(req->ipsr_ah_req & IPSEC_PREF_REQUIRED);
1348 ipp->ipp_use_esp = !!(req->ipsr_esp_req & IPSEC_PREF_REQUIRED);
1349 ipp->ipp_use_espa = !!(req->ipsr_esp_auth_alg);
1350 ipp->ipp_use_se = !!(req->ipsr_self_encap_req & IPSEC_PREF_REQUIRED);
1351 ipp->ipp_use_unique = !!((req->ipsr_ah_req|req->ipsr_esp_req) &
1353 ipp->ipp_encr_alg = req->ipsr_esp_alg;
1360 ipp->ipp_auth_alg = (req->ipsr_auth_alg != SADB_AALG_ANY) ?
1362 ipp->ipp_esp_auth_alg = (req->ipsr_esp_auth_alg != SADB_AALG_ANY) ?
1391 ipsec_req_from_prot(ipsec_prot_t *ipp, ipsec_req_t *req)
1393 req->ipsr_esp_alg = ipp->ipp_encr_alg;
1394 req->ipsr_auth_alg = ipp->ipp_auth_alg;
1395 req->ipsr_esp_auth_alg = ipp->ipp_esp_auth_alg;
1397 if (ipp->ipp_use_unique) {
1401 if (ipp->ipp_use_se)
1403 if (ipp->ipp_use_ah)
1405 if (ipp->ipp_use_esp)
1570 ipsec_prot_t *ipp;
1619 ipp = &ap->ipa_act.ipa_apply;
1628 if (ipp->ipp_use_ah) {
1637 ASSERT(ipp->ipp_auth_alg != 0);
1640 ipp->ipp_auth_alg) {
1656 if (ipp->ipp_use_esp) {
1665 ASSERT(ipp->ipp_encr_alg != 0);
1668 ipp->ipp_encr_alg) {
1678 if (ipp->ipp_use_espa) {
1680 ipp->ipp_esp_auth_alg) {
1698 if (ipp->ipp_use_se) {
2699 ip_pkt_t ipp;
2716 bzero(&ipp, sizeof (ipp));
2738 (void) ip_find_hdr_v6(spare_mp, ip6h, B_FALSE, &ipp,
2744 (void) ip_find_hdr_v6(mp, ip6h, B_FALSE, &ipp, NULL);
2748 if (port_policy_present && IS_V6_FRAGMENT(ipp) && !is_icmp) {
3079 const ipsec_prot_t *ipp = &act->ipa_apply;
3081 if (ipp->ipp_use_ah)
3083 if (ipp->ipp_use_esp) {
3087 if (ipp->ipp_use_se)
3221 const ipsec_prot_t *ipp = &a[i].ipa_apply;
3223 ASSERT(ipp->ipp_use_ah || ipp->ipp_use_esp);
3224 want_ah |= ipp->ipp_use_ah;
3225 want_esp |= ipp->ipp_use_esp;
3226 want_se |= ipp->ipp_use_se;
3227 want_unique |= ipp->ipp_use_unique;
3450 ipsec_policy_free(ipsec_policy_t *ipp)
3452 ASSERT(ipp->ipsp_refs == 0);
3453 ASSERT(ipp->ipsp_sel != NULL);
3454 ASSERT(ipp->ipsp_act != NULL);
3455 ASSERT(ipp->ipsp_netstack != NULL);
3457 ipsec_sel_rel(&ipp->ipsp_sel, ipp->ipsp_netstack);
3458 IPACT_REFRELE(ipp->ipsp_act);
3459 kmem_cache_free(ipsec_pol_cache, ipp);
3472 ipsec_policy_t *ipp;
3478 ipp = kmem_cache_alloc(ipsec_pol_cache, KM_NOSLEEP);
3482 if ((ap == NULL) || (sp == NULL) || (ipp == NULL)) {
3488 if (ipp != NULL)
3489 kmem_cache_free(ipsec_pol_cache, ipp);
3493 HASH_NULL(ipp, ipsp_hash);
3495 ipp->ipsp_netstack = ns; /* Needed for ipsec_policy_free */
3496 ipp->ipsp_refs = 1; /* caller's reference */
3497 ipp->ipsp_sel = sp;
3498 ipp->ipsp_act = ap;
3499 ipp->ipsp_prio = prio; /* rule priority */
3500 ipp->ipsp_index = *index_ptr;
3503 return (ipp);
3633 * entries on "ipp"'s ipsp_pol_hval.
3640 ipsec_check_policy(ipsec_policy_head_t *php, ipsec_policy_t *ipp, int direction)
3646 ipsec_selkey_t *selkey = &ipp->ipsp_sel->ipsl_key;
3680 if (p2->ipsp_sel == ipp->ipsp_sel)
3693 (ipp->ipsp_act->ipa_act.ipa_type == IPSEC_ACT_APPLY)) {
3701 return (ipsec_compare_action(p2, ipp));
3814 ipsec_enter_policy(ipsec_policy_head_t *php, ipsec_policy_t *ipp, int direction,
3818 ipsec_selkey_t *selkey = &ipp->ipsp_sel->ipsl_key;
3836 HASHLIST_INSERT(ipp, ipsp_hash, pr->ipr_nonhash[af]);
3839 HASH_INSERT(ipp, ipsp_hash, pr->ipr_hash, hval);
3843 ipsec_insert_always(&php->iph_rulebyid, ipp);
6265 ip_pkt_t ipp;
6325 bzero(&ipp, sizeof (ipp));
6326 (void) ip_find_hdr_v6(mp, ip6h, B_FALSE, &ipp, NULL);
6327 if (!(ipp.ipp_fields & IPPF_FRAGHDR)) {
6340 fraghdr = ipp.ipp_fraghdr;
6742 bzero(&ipp, sizeof (ipp));
6743 (void) ip_find_hdr_v6(data_mp, ip6h, B_FALSE, &ipp,
6745 fraghdr = ipp.ipp_fraghdr;