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