Lines Matching refs:extv

444 spdsock_get_ext(spd_ext_t *extv[], spd_msg_t *basehdr, uint_t msgsize)  in spdsock_get_ext()  argument
446 bzero(extv, sizeof (spd_ext_t *) * (SPD_EXT_MAX + 1)); in spdsock_get_ext()
450 extv[0] = (spd_ext_t *)(basehdr + 1); in spdsock_get_ext()
452 while (extv[0] < (spd_ext_t *)(((uint8_t *)basehdr) + msgsize)) { in spdsock_get_ext()
454 if (extv[0]->spd_ext_type == 0 || in spdsock_get_ext()
455 extv[0]->spd_ext_type > SPD_EXT_MAX) in spdsock_get_ext()
463 if (extv[0]->spd_ext_len == 0 || in spdsock_get_ext()
464 (void *)((uint64_t *)extv[0] + extv[0]->spd_ext_len) > in spdsock_get_ext()
469 if (extv[extv[0]->spd_ext_type] != NULL) in spdsock_get_ext()
476 if (!ext_check(extv[0])) in spdsock_get_ext()
480 extv[extv[0]->spd_ext_type] = extv[0]; in spdsock_get_ext()
483 extv[0] = (spd_ext_t *) in spdsock_get_ext()
484 ((uint64_t *)extv[0] + extv[0]->spd_ext_len); in spdsock_get_ext()
493 if (extv[0] == (spd_ext_t *)(basehdr + 1)) in spdsock_get_ext()
494 extv[0] = NULL; in spdsock_get_ext()
652 spdsock_ext_to_sel(spd_ext_t **extv, ipsec_selkey_t *sel, int *diag) in spdsock_ext_to_sel() argument
656 if (extv[SPD_EXT_PROTO] != NULL) { in spdsock_ext_to_sel()
658 (struct spd_proto *)extv[SPD_EXT_PROTO]; in spdsock_ext_to_sel()
662 if (extv[SPD_EXT_LCLPORT] != NULL) { in spdsock_ext_to_sel()
664 (struct spd_portrange *)extv[SPD_EXT_LCLPORT]; in spdsock_ext_to_sel()
668 if (extv[SPD_EXT_REMPORT] != NULL) { in spdsock_ext_to_sel()
670 (struct spd_portrange *)extv[SPD_EXT_REMPORT]; in spdsock_ext_to_sel()
675 if (extv[SPD_EXT_ICMP_TYPECODE] != NULL) { in spdsock_ext_to_sel()
677 (struct spd_typecode *)extv[SPD_EXT_ICMP_TYPECODE]; in spdsock_ext_to_sel()
696 #define ADDR2SEL(sel, extv, field, pfield, extn, bit) \ in spdsock_ext_to_sel() argument
697 if ((extv)[(extn)] != NULL) { \ in spdsock_ext_to_sel()
700 (struct spd_address *)((extv)[(extn)]); \ in spdsock_ext_to_sel()
715 ADDR2SEL(sel, extv, ipsl_local, ipsl_local_pfxlen, in spdsock_ext_to_sel()
717 ADDR2SEL(sel, extv, ipsl_remote, ipsl_remote_pfxlen, in spdsock_ext_to_sel()
806 spdsock_ext_to_actvec(spd_ext_t **extv, ipsec_act_t **actpp, uint_t *nactp, in spdsock_ext_to_actvec() argument
810 (struct spd_ext_actions *)extv[SPD_EXT_ACTION]; in spdsock_ext_to_actvec()
817 tunnel_polhead = (extv[SPD_EXT_TUN_NAME] != NULL && in spdsock_ext_to_actvec()
818 (((struct spd_rule *)extv[SPD_EXT_RULE])->spd_rule_flags & in spdsock_ext_to_actvec()
883 if (!tunnel_polhead && extv[SPD_EXT_TUN_NAME] != NULL) { in spdsock_ext_to_actvec()
1032 spd_ext_t **extv, ipsec_tun_pol_t *itp) in spdsock_addrule() argument
1038 struct spd_rule *rule = (struct spd_rule *)extv[SPD_EXT_RULE]; in spdsock_addrule()
1094 if (!spdsock_ext_to_sel(extv, &sel, &diag)) { in spdsock_addrule()
1121 if (!spdsock_ext_to_actvec(extv, &actp, &nact, &diag, spds)) { in spdsock_addrule()
1196 spd_ext_t **extv, ipsec_tun_pol_t *itp) in spdsock_deleterule() argument
1199 struct spd_rule *rule = (struct spd_rule *)extv[SPD_EXT_RULE]; in spdsock_deleterule()
1236 if (!spdsock_ext_to_sel(extv, &sel, &diag)) { in spdsock_deleterule()
1405 spd_ext_t **extv, ipsec_tun_pol_t *itp) in spdsock_lookup() argument
2546 spdsock_do_updatealg(spd_ext_t *extv[], spd_stack_t *spds) in spdsock_do_updatealg() argument
2561 actp = (struct spd_ext_actions *)extv[SPD_EXT_ACTION]; in spdsock_do_updatealg()
2787 spdsock_updatealg(queue_t *q, mblk_t *mp, spd_ext_t *extv[]) in spdsock_updatealg() argument
2807 bcopy(extv, spds->spds_extv_algs, in spdsock_updatealg()
2830 diag = spdsock_do_updatealg(extv, spds); in spdsock_updatealg()
2975 spd_ext_t *extv[SPD_EXT_MAX + 1]; in spdsock_parse() local
3021 switch (spdsock_get_ext(extv, spmsg, msgsize)) { in spdsock_parse()
3025 extv[0]->spd_ext_type)); in spdsock_parse()
3026 spdsock_diag(q, mp, dup_ext_diag[extv[0]->spd_ext_type]); in spdsock_parse()
3031 extv[0]->spd_ext_type)); in spdsock_parse()
3037 extv[0]->spd_ext_len, extv[0]->spd_ext_type)); in spdsock_parse()
3043 extv[0]->spd_ext_type)); in spdsock_parse()
3044 spdsock_diag(q, mp, bad_ext_diag[extv[0]->spd_ext_type]); in spdsock_parse()
3068 spdsock_updatealg(q, mp, extv); in spdsock_parse()
3082 tunname = (spd_if_t *)extv[SPD_EXT_TUN_NAME]; in spdsock_parse()
3136 spdsock_addrule(q, iph, mp, extv, itp); in spdsock_parse()
3139 spdsock_deleterule(q, iph, mp, extv, itp); in spdsock_parse()
3142 spdsock_lookup(q, iph, mp, extv, itp); in spdsock_parse()