Lines Matching refs:act

735 spd_convert_type(uint32_t type, ipsec_act_t *act)  in spd_convert_type()  argument
739 act->ipa_type = IPSEC_ACT_DISCARD; in spd_convert_type()
743 act->ipa_type = IPSEC_ACT_CLEAR; in spd_convert_type()
747 act->ipa_type = IPSEC_ACT_APPLY; in spd_convert_type()
754 spd_convert_flags(uint32_t flags, ipsec_act_t *act) in spd_convert_flags() argument
759 act->ipa_apply.ipp_use_ah = !!(flags & SPD_APPLY_AH); in spd_convert_flags()
760 act->ipa_apply.ipp_use_esp = !!(flags & SPD_APPLY_ESP); in spd_convert_flags()
761 act->ipa_apply.ipp_use_espa = !!(flags & SPD_APPLY_ESPA); in spd_convert_flags()
762 act->ipa_apply.ipp_use_se = !!(flags & SPD_APPLY_SE); in spd_convert_flags()
763 act->ipa_apply.ipp_use_unique = !!(flags & SPD_APPLY_UNIQUE); in spd_convert_flags()
768 spdsock_reset_act(ipsec_act_t *act) in spdsock_reset_act() argument
770 bzero(act, sizeof (*act)); in spdsock_reset_act()
771 act->ipa_apply.ipp_espe_maxbits = IPSEC_MAX_KEYBITS; in spdsock_reset_act()
772 act->ipa_apply.ipp_espa_maxbits = IPSEC_MAX_KEYBITS; in spdsock_reset_act()
773 act->ipa_apply.ipp_ah_maxbits = IPSEC_MAX_KEYBITS; in spdsock_reset_act()
780 spdsock_check_action(ipsec_act_t *act, boolean_t tunnel_polhead, int *diag, in spdsock_check_action() argument
783 if (tunnel_polhead && act->ipa_apply.ipp_use_unique) { in spdsock_check_action()
787 if ((act->ipa_type != IPSEC_ACT_APPLY) && in spdsock_check_action()
788 (act->ipa_apply.ipp_use_ah || in spdsock_check_action()
789 act->ipa_apply.ipp_use_esp || in spdsock_check_action()
790 act->ipa_apply.ipp_use_espa || in spdsock_check_action()
791 act->ipa_apply.ipp_use_se || in spdsock_check_action()
792 act->ipa_apply.ipp_use_unique)) { in spdsock_check_action()
796 if ((act->ipa_type == IPSEC_ACT_APPLY) && in spdsock_check_action()
797 !act->ipa_apply.ipp_use_ah && in spdsock_check_action()
798 !act->ipa_apply.ipp_use_esp) { in spdsock_check_action()
802 return (ipsec_check_action(act, diag, spds->spds_netstack)); in spdsock_check_action()
814 ipsec_act_t act, *actp, *endactp; in spdsock_ext_to_actvec() local
851 spdsock_reset_act(&act); in spdsock_ext_to_actvec()
860 spdsock_reset_act(&act); in spdsock_ext_to_actvec()
871 if (!spdsock_check_action(&act, tunnel_polhead, in spdsock_ext_to_actvec()
874 *actp++ = act; in spdsock_ext_to_actvec()
875 spdsock_reset_act(&act); in spdsock_ext_to_actvec()
879 if (!spd_convert_type(attrp->spd_attr_value, &act)) { in spdsock_ext_to_actvec()
893 if (!spd_convert_flags(attrp->spd_attr_value, &act)) { in spdsock_ext_to_actvec()
904 act.ipa_apply.ipp_auth_alg = attrp->spd_attr_value; in spdsock_ext_to_actvec()
912 act.ipa_apply.ipp_encr_alg = attrp->spd_attr_value; in spdsock_ext_to_actvec()
920 act.ipa_apply.ipp_esp_auth_alg = attrp->spd_attr_value; in spdsock_ext_to_actvec()
924 act.ipa_apply.ipp_espe_minbits = attrp->spd_attr_value; in spdsock_ext_to_actvec()
928 act.ipa_apply.ipp_espe_maxbits = attrp->spd_attr_value; in spdsock_ext_to_actvec()
932 act.ipa_apply.ipp_ah_minbits = attrp->spd_attr_value; in spdsock_ext_to_actvec()
936 act.ipa_apply.ipp_ah_maxbits = attrp->spd_attr_value; in spdsock_ext_to_actvec()
940 act.ipa_apply.ipp_espa_minbits = attrp->spd_attr_value; in spdsock_ext_to_actvec()
944 act.ipa_apply.ipp_espa_maxbits = attrp->spd_attr_value; in spdsock_ext_to_actvec()
954 act.ipa_apply.ipp_km_proto = attrp->spd_attr_value; in spdsock_ext_to_actvec()
958 act.ipa_apply.ipp_km_cookie = attrp->spd_attr_value; in spdsock_ext_to_actvec()
962 act.ipa_apply.ipp_replay_depth = attrp->spd_attr_value; in spdsock_ext_to_actvec()
1636 const struct ipsec_act *act = &(ap->ipa_act); in spdsock_encode_action() local
1640 switch (act->ipa_type) { in spdsock_encode_action()
1653 if (act->ipa_apply.ipp_use_ah) in spdsock_encode_action()
1655 if (act->ipa_apply.ipp_use_esp) in spdsock_encode_action()
1657 if (act->ipa_apply.ipp_use_espa) in spdsock_encode_action()
1659 if (act->ipa_apply.ipp_use_se) in spdsock_encode_action()
1661 if (act->ipa_apply.ipp_use_unique) in spdsock_encode_action()
1665 EMIT(SPD_ATTR_AH_AUTH, act->ipa_apply.ipp_auth_alg); in spdsock_encode_action()
1667 act->ipa_apply.ipp_ah_minbits); in spdsock_encode_action()
1669 act->ipa_apply.ipp_ah_maxbits); in spdsock_encode_action()
1672 EMIT(SPD_ATTR_ESP_ENCR, act->ipa_apply.ipp_encr_alg); in spdsock_encode_action()
1674 act->ipa_apply.ipp_espe_minbits); in spdsock_encode_action()
1676 act->ipa_apply.ipp_espe_maxbits); in spdsock_encode_action()
1679 act->ipa_apply.ipp_esp_auth_alg); in spdsock_encode_action()
1681 act->ipa_apply.ipp_espa_minbits); in spdsock_encode_action()
1683 act->ipa_apply.ipp_espa_maxbits); in spdsock_encode_action()
1686 if (act->ipa_apply.ipp_km_proto != 0) in spdsock_encode_action()
1687 EMIT(SPD_ATTR_KM_PROTO, act->ipa_apply.ipp_km_proto); in spdsock_encode_action()
1688 if (act->ipa_apply.ipp_km_cookie != 0) in spdsock_encode_action()
1689 EMIT(SPD_ATTR_KM_PROTO, act->ipa_apply.ipp_km_cookie); in spdsock_encode_action()
1690 if (act->ipa_apply.ipp_replay_depth != 0) in spdsock_encode_action()
1692 act->ipa_apply.ipp_replay_depth); in spdsock_encode_action()
1704 struct spd_ext_actions *act; in spdsock_encode_action_list() local
1711 act = (struct spd_ext_actions *)(base + offset); in spdsock_encode_action_list()
1712 act->spd_actions_len = 0; in spdsock_encode_action_list()
1713 act->spd_actions_exttype = SPD_EXT_ACTION; in spdsock_encode_action_list()
1714 act->spd_actions_count = 0; in spdsock_encode_action_list()
1715 act->spd_actions_reserved = 0; in spdsock_encode_action_list()
1718 offset += sizeof (*act); in spdsock_encode_action_list()
1735 act->spd_actions_count = nact; in spdsock_encode_action_list()
1736 act->spd_actions_len = SPD_8TO64(offset - start); in spdsock_encode_action_list()
2269 struct spd_ext_actions *act; in spdsock_alglist() local
2319 act = (struct spd_ext_actions *)cur; in spdsock_alglist()
2320 cur += sizeof (*act); in spdsock_alglist()
2322 act->spd_actions_len = SPD_8TO64(size - sizeof (spd_msg_t)); in spdsock_alglist()
2323 act->spd_actions_exttype = SPD_EXT_ACTION; in spdsock_alglist()
2324 act->spd_actions_count = algcount; in spdsock_alglist()
2325 act->spd_actions_reserved = 0; in spdsock_alglist()
2401 struct spd_ext_actions *act; in spdsock_dumpalgs() local
2462 act = (struct spd_ext_actions *)cur; in spdsock_dumpalgs()
2463 cur += sizeof (*act); in spdsock_dumpalgs()
2465 act->spd_actions_len = SPD_8TO64(size - sizeof (spd_msg_t)); in spdsock_dumpalgs()
2466 act->spd_actions_exttype = SPD_EXT_ACTION; in spdsock_dumpalgs()
2467 act->spd_actions_count = ipss->ipsec_nalgs[IPSEC_ALG_AUTH] + in spdsock_dumpalgs()
2469 act->spd_actions_reserved = 0; in spdsock_dumpalgs()
2475 if (act->spd_actions_count == 0) { in spdsock_dumpalgs()
2476 act->spd_actions_len = 0; in spdsock_dumpalgs()