gbproxy: Don't pass global (component) variables as function arguments

The point of global (component) variables is that we don't have to pass
them around as extra function arguments everywhere.  So don't do it.

Change-Id: I0754d5db7e797a51be3a0b601b0533de80bc246d
This commit is contained in:
Harald Welte 2021-01-16 11:23:09 +01:00
parent 09a1ce4d23
commit 2ecbca8080
1 changed files with 43 additions and 44 deletions

View File

@ -601,7 +601,7 @@ function f_cleanup() runs on test_CT {
type function void_fn(charstring id) runs on BSSGP_ConnHdlr;
/* helper function to create, connect and start a BSSGP_ConnHdlr component */
function f_start_handler(void_fn fn, charstring id, GbInstances pcu, GbInstances sgsn, integer imsi_suffix,
function f_start_handler(void_fn fn, charstring id, integer imsi_suffix,
float t_guard := 30.0, integer sgsn_idx := 0, integer nri_idx := 0)
runs on test_CT return BSSGP_ConnHdlr {
var BSSGP_ConnHdlr vc_conn;
@ -617,8 +617,8 @@ runs on test_CT return BSSGP_ConnHdlr {
tlli := f_gprs_tlli_from_tmsi(p_tmsi, TLLI_LOCAL),
tlli_old := omit,
ra := omit,
pcu := pcu,
sgsn := sgsn,
pcu := g_pcu,
sgsn := g_sgsn,
sgsn_idx := sgsn_idx,
t_guard := t_guard
};
@ -629,8 +629,7 @@ runs on test_CT return BSSGP_ConnHdlr {
return vc_conn;
}
function f_start_handlers(void_fn fn, charstring id, GbInstances pcu, GbInstances sgsn,
integer imsi_suffix, float t_guard := 30.0)
function f_start_handlers(void_fn fn, charstring id, integer imsi_suffix, float t_guard := 30.0)
runs on test_CT
{
var integer sgsn_idx, nri_idx;
@ -638,7 +637,7 @@ runs on test_CT
for (nri_idx := 0; nri_idx < lengthof(mp_sgsn_nri[sgsn_idx]); nri_idx:=nri_idx+1) {
var integer extd_imsi_suffix := 1000*sgsn_idx + 100*nri_idx;
var BSSGP_ConnHdlr vc_conn;
vc_conn := f_start_handler(fn, id, pcu, sgsn, extd_imsi_suffix, t_guard,
vc_conn := f_start_handler(fn, id, extd_imsi_suffix, t_guard,
sgsn_idx, nri_idx);
/* Idea: we could also run them in parallel ? */
vc_conn.done;
@ -901,7 +900,7 @@ private function f_TC_BVC_bringup(charstring id) runs on BSSGP_ConnHdlr {
testcase TC_BVC_bringup() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_BVC_bringup), testcasename(), g_pcu, g_sgsn, 51);
f_start_handlers(refers(f_TC_BVC_bringup), testcasename(), 51);
f_cleanup();
}
@ -967,7 +966,7 @@ private function f_TC_ul_unitdata(charstring id) runs on BSSGP_ConnHdlr {
testcase TC_ul_unitdata() runs on test_CT
{
f_init();
f_start_handlers(refers(f_TC_ul_unitdata), testcasename(), g_pcu, g_sgsn, 1);
f_start_handlers(refers(f_TC_ul_unitdata), testcasename(), 1);
/* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */
f_cleanup();
}
@ -993,7 +992,7 @@ private function f_TC_dl_unitdata(charstring id) runs on BSSGP_ConnHdlr {
testcase TC_dl_unitdata() runs on test_CT
{
f_init();
f_start_handlers(refers(f_TC_dl_unitdata), testcasename(), g_pcu, g_sgsn, 2);
f_start_handlers(refers(f_TC_dl_unitdata), testcasename(), 2);
/* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */
f_cleanup();
}
@ -1013,7 +1012,7 @@ private function f_TC_ra_capability(charstring id) runs on BSSGP_ConnHdlr {
testcase TC_ra_capability() runs on test_CT
{
f_init();
f_start_handlers(refers(f_TC_ra_capability), testcasename(), g_pcu, g_sgsn, 3);
f_start_handlers(refers(f_TC_ra_capability), testcasename(), 3);
/* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */
f_cleanup();
}
@ -1040,7 +1039,7 @@ private function f_TC_ra_capability_upd(charstring id) runs on BSSGP_ConnHdlr {
testcase TC_ra_capability_upd() runs on test_CT
{
f_init();
f_start_handlers(refers(f_TC_ra_capability_upd), testcasename(), g_pcu, g_sgsn, 4);
f_start_handlers(refers(f_TC_ra_capability_upd), testcasename(), 4);
/* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */
f_cleanup();
}
@ -1060,7 +1059,7 @@ private function f_TC_radio_status(charstring id) runs on BSSGP_ConnHdlr {
testcase TC_radio_status() runs on test_CT
{
f_init();
f_start_handlers(refers(f_TC_radio_status), testcasename(), g_pcu, g_sgsn, 5);
f_start_handlers(refers(f_TC_radio_status), testcasename(), 5);
/* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */
f_cleanup();
}
@ -1198,7 +1197,7 @@ private function f_TC_load_sharing_dl(integer sgsn_idx) runs on test_CT_NS
/* start parallel components generating DL-UNITDATA from the SGSN side */
for (var integer i:= 0; i < num_ue; i := i+1) {
vc_conn[i] := f_start_handler(refers(f_TC_dl_ud_unidir), testcasename(), g_pcu, g_sgsn,
vc_conn[i] := f_start_handler(refers(f_TC_dl_ud_unidir), testcasename(),
5+i, 30.0, sgsn_idx);
}
@ -1366,7 +1365,7 @@ private function f_TC_paging_ps_ptp_bss(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_ps_ptp_bss() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_ps_ptp_bss), testcasename(), g_pcu, g_sgsn, 9);
f_start_handlers(refers(f_TC_paging_ps_ptp_bss), testcasename(), 9);
f_cleanup();
}
@ -1380,7 +1379,7 @@ private function f_TC_paging_ps_ptp_lac(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_ps_ptp_lac() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_ps_ptp_lac), testcasename(), g_pcu, g_sgsn, 10);
f_start_handlers(refers(f_TC_paging_ps_ptp_lac), testcasename(), 10);
f_cleanup();
}
@ -1396,7 +1395,7 @@ private function f_TC_paging_ps_ptp_lac_unknown(charstring id) runs on BSSGP_Con
}
testcase TC_paging_ps_ptp_lac_unknown() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_ps_ptp_lac_unknown), testcasename(), g_pcu, g_sgsn, 11);
f_start_handlers(refers(f_TC_paging_ps_ptp_lac_unknown), testcasename(), 11);
f_cleanup();
}
@ -1409,7 +1408,7 @@ private function f_TC_paging_ps_ptp_rac(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_ps_ptp_rac() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_ps_ptp_rac), testcasename(), g_pcu, g_sgsn, 11);
f_start_handlers(refers(f_TC_paging_ps_ptp_rac), testcasename(), 11);
f_cleanup();
}
@ -1428,7 +1427,7 @@ private function f_TC_paging_ps_ptp_rac_unknown(charstring id) runs on BSSGP_Con
}
testcase TC_paging_ps_ptp_rac_unknown() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_ps_ptp_rac_unknown), testcasename(), g_pcu, g_sgsn, 11);
f_start_handlers(refers(f_TC_paging_ps_ptp_rac_unknown), testcasename(), 11);
f_cleanup();
}
@ -1440,7 +1439,7 @@ private function f_TC_paging_ps_ptp_bvci(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_ps_ptp_bvci() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_ps_ptp_bvci), testcasename(), g_pcu, g_sgsn, 12);
f_start_handlers(refers(f_TC_paging_ps_ptp_bvci), testcasename(), 12);
f_cleanup();
}
@ -1452,7 +1451,7 @@ private function f_TC_paging_ps_ptp_bvci_unknown(charstring id) runs on BSSGP_Co
}
testcase TC_paging_ps_ptp_bvci_unknown() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_ps_ptp_bvci_unknown), testcasename(), g_pcu, g_sgsn, 11);
f_start_handlers(refers(f_TC_paging_ps_ptp_bvci_unknown), testcasename(), 11);
f_cleanup();
}
@ -1519,7 +1518,7 @@ private function f_TC_paging_ps_sig_bss(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_ps_sig_bss() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_ps_sig_bss), testcasename(), g_pcu, g_sgsn, 13);
f_start_handlers(refers(f_TC_paging_ps_sig_bss), testcasename(), 13);
f_cleanup();
}
@ -1536,7 +1535,7 @@ private function f_TC_paging_ps_sig_lac(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_ps_sig_lac() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_ps_sig_lac), testcasename(), g_pcu, g_sgsn, 14);
f_start_handlers(refers(f_TC_paging_ps_sig_lac), testcasename(), 14);
f_cleanup();
}
@ -1551,7 +1550,7 @@ private function f_TC_paging_ps_sig_lac_unknown(charstring id) runs on BSSGP_Con
}
testcase TC_paging_ps_sig_lac_unknown() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_ps_sig_lac_unknown), testcasename(), g_pcu, g_sgsn, 11);
f_start_handlers(refers(f_TC_paging_ps_sig_lac_unknown), testcasename(), 11);
f_cleanup();
}
@ -1570,7 +1569,7 @@ private function f_TC_paging_ps_sig_rac(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_ps_sig_rac() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_ps_sig_rac), testcasename(), g_pcu, g_sgsn, 15);
f_start_handlers(refers(f_TC_paging_ps_sig_rac), testcasename(), 15);
f_cleanup();
}
@ -1588,7 +1587,7 @@ private function f_TC_paging_ps_sig_rac_unknown(charstring id) runs on BSSGP_Con
}
testcase TC_paging_ps_sig_rac_unknown() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_ps_sig_rac_unknown), testcasename(), g_pcu, g_sgsn, 11);
f_start_handlers(refers(f_TC_paging_ps_sig_rac_unknown), testcasename(), 11);
f_cleanup();
}
@ -1599,7 +1598,7 @@ private function f_TC_paging_ps_sig_bvci(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_ps_sig_bvci() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_ps_sig_bvci), testcasename(), g_pcu, g_sgsn, 16);
f_start_handlers(refers(f_TC_paging_ps_sig_bvci), testcasename(), 16);
f_cleanup();
}
@ -1610,7 +1609,7 @@ private function f_TC_paging_ps_sig_bvci_unknown(charstring id) runs on BSSGP_Co
}
testcase TC_paging_ps_sig_bvci_unknown() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_ps_sig_bvci_unknown), testcasename(), g_pcu, g_sgsn, 11);
f_start_handlers(refers(f_TC_paging_ps_sig_bvci_unknown), testcasename(), 11);
f_cleanup();
}
@ -1731,7 +1730,7 @@ private function f_TC_paging_cs_ptp_bss(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_cs_ptp_bss() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_cs_ptp_bss), testcasename(), g_pcu, g_sgsn, 17);
f_start_handlers(refers(f_TC_paging_cs_ptp_bss), testcasename(), 17);
f_cleanup();
}
@ -1745,7 +1744,7 @@ private function f_TC_paging_cs_ptp_lac(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_cs_ptp_lac() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_cs_ptp_lac), testcasename(), g_pcu, g_sgsn, 18);
f_start_handlers(refers(f_TC_paging_cs_ptp_lac), testcasename(), 18);
f_cleanup();
}
@ -1761,7 +1760,7 @@ private function f_TC_paging_cs_ptp_lac_unknown(charstring id) runs on BSSGP_Con
}
testcase TC_paging_cs_ptp_lac_unknown() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_cs_ptp_lac_unknown), testcasename(), g_pcu, g_sgsn, 11);
f_start_handlers(refers(f_TC_paging_cs_ptp_lac_unknown), testcasename(), 11);
f_cleanup();
}
@ -1774,7 +1773,7 @@ private function f_TC_paging_cs_ptp_rac(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_cs_ptp_rac() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_cs_ptp_rac), testcasename(), g_pcu, g_sgsn, 19);
f_start_handlers(refers(f_TC_paging_cs_ptp_rac), testcasename(), 19);
f_cleanup();
}
@ -1793,7 +1792,7 @@ private function f_TC_paging_cs_ptp_rac_unknown(charstring id) runs on BSSGP_Con
}
testcase TC_paging_cs_ptp_rac_unknown() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_cs_ptp_rac_unknown), testcasename(), g_pcu, g_sgsn, 11);
f_start_handlers(refers(f_TC_paging_cs_ptp_rac_unknown), testcasename(), 11);
f_cleanup();
}
@ -1805,7 +1804,7 @@ private function f_TC_paging_cs_ptp_bvci(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_cs_ptp_bvci() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_cs_ptp_bvci), testcasename(), g_pcu, g_sgsn, 20);
f_start_handlers(refers(f_TC_paging_cs_ptp_bvci), testcasename(), 20);
f_cleanup();
}
@ -1817,7 +1816,7 @@ private function f_TC_paging_cs_ptp_bvci_unknown(charstring id) runs on BSSGP_Co
}
testcase TC_paging_cs_ptp_bvci_unknown() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_cs_ptp_bvci_unknown), testcasename(), g_pcu, g_sgsn, 11);
f_start_handlers(refers(f_TC_paging_cs_ptp_bvci_unknown), testcasename(), 11);
f_cleanup();
}
@ -1861,7 +1860,7 @@ private function f_TC_paging_cs_sig_bss(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_cs_sig_bss() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_cs_sig_bss), testcasename(), g_pcu, g_sgsn, 13);
f_start_handlers(refers(f_TC_paging_cs_sig_bss), testcasename(), 13);
f_cleanup();
}
@ -1878,7 +1877,7 @@ private function f_TC_paging_cs_sig_lac(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_cs_sig_lac() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_cs_sig_lac), testcasename(), g_pcu, g_sgsn, 14);
f_start_handlers(refers(f_TC_paging_cs_sig_lac), testcasename(), 14);
f_cleanup();
}
@ -1893,7 +1892,7 @@ private function f_TC_paging_cs_sig_lac_unknown(charstring id) runs on BSSGP_Con
}
testcase TC_paging_cs_sig_lac_unknown() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_cs_sig_lac_unknown), testcasename(), g_pcu, g_sgsn, 11);
f_start_handlers(refers(f_TC_paging_cs_sig_lac_unknown), testcasename(), 11);
f_cleanup();
}
@ -1912,7 +1911,7 @@ private function f_TC_paging_cs_sig_rac(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_cs_sig_rac() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_cs_sig_rac), testcasename(), g_pcu, g_sgsn, 15);
f_start_handlers(refers(f_TC_paging_cs_sig_rac), testcasename(), 15);
f_cleanup();
}
@ -1930,7 +1929,7 @@ private function f_TC_paging_cs_sig_rac_unknown(charstring id) runs on BSSGP_Con
}
testcase TC_paging_cs_sig_rac_unknown() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_cs_sig_rac_unknown), testcasename(), g_pcu, g_sgsn, 11);
f_start_handlers(refers(f_TC_paging_cs_sig_rac_unknown), testcasename(), 11);
f_cleanup();
}
@ -1941,7 +1940,7 @@ private function f_TC_paging_cs_sig_bvci(charstring id) runs on BSSGP_ConnHdlr
}
testcase TC_paging_cs_sig_bvci() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_cs_sig_bvci), testcasename(), g_pcu, g_sgsn, 16);
f_start_handlers(refers(f_TC_paging_cs_sig_bvci), testcasename(), 16);
f_cleanup();
}
@ -1952,7 +1951,7 @@ private function f_TC_paging_cs_sig_bvci_unknown(charstring id) runs on BSSGP_Co
}
testcase TC_paging_cs_sig_bvci_unknown() runs on test_CT {
f_init();
f_start_handlers(refers(f_TC_paging_cs_sig_bvci_unknown), testcasename(), g_pcu, g_sgsn, 11);
f_start_handlers(refers(f_TC_paging_cs_sig_bvci_unknown), testcasename(), 11);
f_cleanup();
}
@ -1981,7 +1980,7 @@ private function f_TC_flush_ll(charstring id) runs on BSSGP_ConnHdlr {
testcase TC_flush_ll() runs on test_CT
{
f_init();
f_start_handlers(refers(f_TC_flush_ll), testcasename(), g_pcu, g_sgsn, 6);
f_start_handlers(refers(f_TC_flush_ll), testcasename(), 6);
/* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */
f_cleanup();
}
@ -2049,7 +2048,7 @@ private function f_TC_llc_discarded(charstring id) runs on BSSGP_ConnHdlr {
testcase TC_llc_discarded() runs on test_CT
{
f_init();
f_start_handlers(refers(f_TC_llc_discarded), testcasename(), g_pcu, g_sgsn, 6);
f_start_handlers(refers(f_TC_llc_discarded), testcasename(), 6);
/* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */
f_cleanup();
}
@ -2411,7 +2410,7 @@ private function f_TC_fc_ms(charstring id) runs on BSSGP_ConnHdlr {
testcase TC_fc_ms() runs on test_CT
{
f_init();
f_start_handlers(refers(f_TC_fc_ms), testcasename(), g_pcu, g_sgsn, 21);
f_start_handlers(refers(f_TC_fc_ms), testcasename(), 21);
/* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */
f_cleanup();
}