Lines Matching defs:extv

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