ggsn: add m_ggsn_conf modulepar

Prepare to run the GGSN tests in different configurations:
* v4_only: one APN with v4
* v6_only: one APN with v6
* v4v6_only: one APN with v4v6
* all: multiple APNs with all of the above

Related: OS#6096
Related: docker-playground Ia2fe0c3ed4ccf06e72fd258d085e4a79cecd5f26
Change-Id: I6d94a8b18200fbb2119406827b74b83e912e3ecc
This commit is contained in:
Oliver Smith 2024-03-22 11:21:10 +01:00 committed by laforge
parent f371375798
commit b856108071
1 changed files with 60 additions and 38 deletions

View File

@ -55,6 +55,13 @@ module GGSN_Tests {
GGSN_IMPL_OPEN5GS
};
type enumerated GGSN_Conf {
GGSN_CONF_ALL,
GGSN_CONF_V4_ONLY,
GGSN_CONF_V6_ONLY,
GGSN_CONF_V4V6_ONLY
};
modulepar {
/* Default IP addresses. May be overridden by GGSN_Tests configuration files. */
@ -89,6 +96,7 @@ module GGSN_Tests {
integer mp_n3_requests := 3; /* local N3-REQUESTS counter */
GGSN_Impl m_ggsn_impl := GGSN_IMPL_OSMOCOM;
GGSN_Conf m_ggsn_conf := GGSN_CONF_ALL;
}
type set PdpContext {
@ -2210,51 +2218,65 @@ module GGSN_Tests {
}
control {
execute(TC_pdp4_act_deact());
execute(TC_pdp4_act_deact_ipcp());
execute(TC_pdp4_act_deact_ipcp_pap_broken());
execute(TC_pdp4_act_deact_pcodns());
execute(TC_pdp4_act_deact_gtpu_access());
execute(TC_pdp4_act_deact_gtpu_access_wrong_saddr());
execute(TC_pdp4_act_deact_gtpu_access_ipv6_apn4());
execute(TC_pdp4_clients_interact_with_txseq());
execute(TC_pdp4_clients_interact_without_txseq());
execute(TC_pdp4_act_deact_with_single_dns());
execute(TC_pdp4_act_deact_with_separate_dns());
execute(TC_pdp4_act_update_teic());
execute(TC_pdp4_act_update_teid());
if (m_ggsn_conf != GGSN_CONF_V6_ONLY) {
execute(TC_pdp4_act_deact());
execute(TC_pdp4_act_deact_ipcp());
execute(TC_pdp4_act_deact_ipcp_pap_broken());
execute(TC_pdp4_act_deact_pcodns());
execute(TC_pdp4_act_deact_gtpu_access());
execute(TC_pdp4_act_deact_gtpu_access_wrong_saddr());
execute(TC_pdp4_act_deact_gtpu_access_ipv6_apn4());
execute(TC_pdp4_clients_interact_with_txseq());
execute(TC_pdp4_clients_interact_without_txseq());
execute(TC_pdp4_act_deact_with_single_dns());
execute(TC_pdp4_act_deact_with_separate_dns());
execute(TC_pdp4_act_update_teic());
execute(TC_pdp4_act_update_teid());
}
execute(TC_pdp6_act_deact());
execute(TC_pdp6_act_deact_pcodns());
execute(TC_pdp6_act_deact_icmp6());
execute(TC_pdp6_act_deact_gtpu_access());
execute(TC_pdp6_act_deact_gtpu_access_wrong_ll_saddr());
execute(TC_pdp6_act_deact_gtpu_access_wrong_global_saddr());
execute(TC_pdp6_act_deact_gtpu_access_ipv4_apn6());
execute(TC_pdp6_clients_interact());
if (m_ggsn_conf != GGSN_CONF_V4_ONLY) {
execute(TC_pdp6_act_deact());
execute(TC_pdp6_act_deact_pcodns());
execute(TC_pdp6_act_deact_icmp6());
execute(TC_pdp6_act_deact_gtpu_access());
execute(TC_pdp6_act_deact_gtpu_access_wrong_ll_saddr());
execute(TC_pdp6_act_deact_gtpu_access_wrong_global_saddr());
execute(TC_pdp6_act_deact_gtpu_access_ipv4_apn6());
execute(TC_pdp6_clients_interact());
}
execute(TC_pdp46_act_deact());
execute(TC_pdp46_act_deact_ipcp());
execute(TC_pdp46_act_deact_icmp6());
execute(TC_pdp46_act_deact_pcodns4());
execute(TC_pdp46_act_deact_pcodns6());
execute(TC_pdp46_act_deact_gtpu_access());
execute(TC_pdp46_act_deact_gtpu_access_wrong_saddr_ipv4());
execute(TC_pdp46_act_deact_gtpu_access_wrong_ll_saddr_ipv6());
execute(TC_pdp46_act_deact_gtpu_access_wrong_global_saddr_ipv6());
execute(TC_pdp46_clients_interact());
execute(TC_pdp46_act_deact_apn4());
if (m_ggsn_conf != GGSN_CONF_V4_ONLY and m_ggsn_conf != GGSN_CONF_V6_ONLY) {
execute(TC_pdp46_act_deact());
execute(TC_pdp46_act_deact_ipcp());
execute(TC_pdp46_act_deact_icmp6());
execute(TC_pdp46_act_deact_pcodns4());
execute(TC_pdp46_act_deact_pcodns6());
execute(TC_pdp46_act_deact_gtpu_access());
execute(TC_pdp46_act_deact_gtpu_access_wrong_saddr_ipv4());
execute(TC_pdp46_act_deact_gtpu_access_wrong_ll_saddr_ipv6());
execute(TC_pdp46_act_deact_gtpu_access_wrong_global_saddr_ipv6());
execute(TC_pdp46_clients_interact());
}
if (m_ggsn_conf == GGSN_CONF_ALL) {
execute(TC_pdp46_act_deact_apn4());
}
execute(TC_echo_req_resp());
execute(TC_echo_req_resp_gtpu());
execute(TC_pdp_act2_recovery());
execute(TC_act_deact_retrans_duplicate());
execute(TC_pdp_act_restart_ctr_echo());
if (m_ggsn_conf == GGSN_CONF_V4_ONLY or m_ggsn_conf == GGSN_CONF_ALL) {
execute(TC_pdp_act2_recovery());
execute(TC_act_deact_retrans_duplicate());
}
execute(TC_lots_of_concurrent_pdp_ctx());
/* Keep at the end, crashes older osmo-ggsn versions (OS#5469): */
execute(TC_addr_pool_exhaustion());
if (m_ggsn_conf != GGSN_CONF_V6_ONLY) {
execute(TC_pdp_act_restart_ctr_echo());
execute(TC_lots_of_concurrent_pdp_ctx());
/* Keep at the end, crashes older osmo-ggsn versions (OS#5469): */
execute(TC_addr_pool_exhaustion());
}
/* open5gs specific tests: */
if (m_ggsn_impl == GGSN_IMPL_OPEN5GS) {