Lines Matching refs:extv

447 spdsock_get_ext(spd_ext_t *extv[], spd_msg_t *basehdr, uint_t msgsize)  in spdsock_get_ext()  argument
449 bzero(extv, sizeof (spd_ext_t *) * (SPD_EXT_MAX + 1)); in spdsock_get_ext()
453 extv[0] = (spd_ext_t *)(basehdr + 1); in spdsock_get_ext()
455 while (extv[0] < (spd_ext_t *)(((uint8_t *)basehdr) + msgsize)) { in spdsock_get_ext()
457 if (extv[0]->spd_ext_type == 0 || in spdsock_get_ext()
458 extv[0]->spd_ext_type > SPD_EXT_MAX) in spdsock_get_ext()
466 if (extv[0]->spd_ext_len == 0 || in spdsock_get_ext()
467 (void *)((uint64_t *)extv[0] + extv[0]->spd_ext_len) > in spdsock_get_ext()
472 if (extv[extv[0]->spd_ext_type] != NULL) in spdsock_get_ext()
479 if (!ext_check(extv[0])) in spdsock_get_ext()
483 extv[extv[0]->spd_ext_type] = extv[0]; in spdsock_get_ext()
486 extv[0] = (spd_ext_t *) in spdsock_get_ext()
487 ((uint64_t *)extv[0] + extv[0]->spd_ext_len); in spdsock_get_ext()
496 if (extv[0] == (spd_ext_t *)(basehdr + 1)) in spdsock_get_ext()
497 extv[0] = NULL; in spdsock_get_ext()
655 spdsock_ext_to_sel(spd_ext_t **extv, ipsec_selkey_t *sel, int *diag) in spdsock_ext_to_sel() argument
659 if (extv[SPD_EXT_PROTO] != NULL) { in spdsock_ext_to_sel()
661 (struct spd_proto *)extv[SPD_EXT_PROTO]; in spdsock_ext_to_sel()
665 if (extv[SPD_EXT_LCLPORT] != NULL) { in spdsock_ext_to_sel()
667 (struct spd_portrange *)extv[SPD_EXT_LCLPORT]; in spdsock_ext_to_sel()
671 if (extv[SPD_EXT_REMPORT] != NULL) { in spdsock_ext_to_sel()
673 (struct spd_portrange *)extv[SPD_EXT_REMPORT]; in spdsock_ext_to_sel()
678 if (extv[SPD_EXT_ICMP_TYPECODE] != NULL) { in spdsock_ext_to_sel()
680 (struct spd_typecode *)extv[SPD_EXT_ICMP_TYPECODE]; in spdsock_ext_to_sel()
699 #define ADDR2SEL(sel, extv, field, pfield, extn, bit) \ in spdsock_ext_to_sel() argument
700 if ((extv)[(extn)] != NULL) { \ in spdsock_ext_to_sel()
703 (struct spd_address *)((extv)[(extn)]); \ in spdsock_ext_to_sel()
718 ADDR2SEL(sel, extv, ipsl_local, ipsl_local_pfxlen, in spdsock_ext_to_sel()
720 ADDR2SEL(sel, extv, ipsl_remote, ipsl_remote_pfxlen, in spdsock_ext_to_sel()
809 spdsock_ext_to_actvec(spd_ext_t **extv, ipsec_act_t **actpp, uint_t *nactp, in spdsock_ext_to_actvec() argument
813 (struct spd_ext_actions *)extv[SPD_EXT_ACTION]; in spdsock_ext_to_actvec()
820 tunnel_polhead = (extv[SPD_EXT_TUN_NAME] != NULL && in spdsock_ext_to_actvec()
821 (((struct spd_rule *)extv[SPD_EXT_RULE])->spd_rule_flags & in spdsock_ext_to_actvec()
886 if (!tunnel_polhead && extv[SPD_EXT_TUN_NAME] != NULL) { in spdsock_ext_to_actvec()
1035 spd_ext_t **extv, ipsec_tun_pol_t *itp) in spdsock_addrule() argument
1041 struct spd_rule *rule = (struct spd_rule *)extv[SPD_EXT_RULE]; in spdsock_addrule()
1097 if (!spdsock_ext_to_sel(extv, &sel, &diag)) { in spdsock_addrule()
1124 if (!spdsock_ext_to_actvec(extv, &actp, &nact, &diag, spds)) { in spdsock_addrule()
1199 spd_ext_t **extv, ipsec_tun_pol_t *itp) in spdsock_deleterule() argument
1202 struct spd_rule *rule = (struct spd_rule *)extv[SPD_EXT_RULE]; in spdsock_deleterule()
1239 if (!spdsock_ext_to_sel(extv, &sel, &diag)) { in spdsock_deleterule()
1408 spd_ext_t **extv, ipsec_tun_pol_t *itp) in spdsock_lookup() argument
2549 spdsock_do_updatealg(spd_ext_t *extv[], spd_stack_t *spds) in spdsock_do_updatealg() argument
2564 actp = (struct spd_ext_actions *)extv[SPD_EXT_ACTION]; in spdsock_do_updatealg()
2794 spdsock_updatealg(queue_t *q, mblk_t *mp, spd_ext_t *extv[]) in spdsock_updatealg() argument
2814 bcopy(extv, spds->spds_extv_algs, in spdsock_updatealg()
2837 diag = spdsock_do_updatealg(extv, spds); in spdsock_updatealg()
2982 spd_ext_t *extv[SPD_EXT_MAX + 1]; in spdsock_parse() local
3028 switch (spdsock_get_ext(extv, spmsg, msgsize)) { in spdsock_parse()
3032 extv[0]->spd_ext_type)); in spdsock_parse()
3033 spdsock_diag(q, mp, dup_ext_diag[extv[0]->spd_ext_type]); in spdsock_parse()
3038 extv[0]->spd_ext_type)); in spdsock_parse()
3044 extv[0]->spd_ext_len, extv[0]->spd_ext_type)); in spdsock_parse()
3050 extv[0]->spd_ext_type)); in spdsock_parse()
3051 spdsock_diag(q, mp, bad_ext_diag[extv[0]->spd_ext_type]); in spdsock_parse()
3075 spdsock_updatealg(q, mp, extv); in spdsock_parse()
3089 tunname = (spd_if_t *)extv[SPD_EXT_TUN_NAME]; in spdsock_parse()
3143 spdsock_addrule(q, iph, mp, extv, itp); in spdsock_parse()
3146 spdsock_deleterule(q, iph, mp, extv, itp); in spdsock_parse()
3149 spdsock_lookup(q, iph, mp, extv, itp); in spdsock_parse()