WIP: gbproxy: simulate ns-vc outage

Change-Id: If16f74f56a5a33095659f240fae1fc8f621951ca
This commit is contained in:
Harald Welte 2021-01-19 18:21:44 +01:00
parent c3c6ee6c63
commit 8853cf1b33
1 changed files with 25 additions and 0 deletions

View File

@ -344,6 +344,9 @@ type component test_CT extends CTRL_Adapter_CT {
port BSSGP_BVC_MGMT_PT SGSN_MGMT;
port BSSGP_BVC_MGMT_PT PCU_MGMT;
port NS_CTRL_PT SGSN_NS_CTRL[NUM_SGSN];
port NS_CTRL_PT PCU_NS_CTRL[NUM_PCU];
port TELNETasp_PT GBPVTY;
var boolean g_initialized := false;
@ -451,6 +454,8 @@ private function f_init_gb_pcu(inout GbInstance gb, charstring id, integer offse
gb.vc_BSSGP := BSSGP_CT.create(bssgp_id) alive;
/* connect lower end of BSSGP emulation with NS upper port */
connect(gb.vc_BSSGP:BSCP, gb.vc_NS:NS_SP);
/* connect ourselves to the NS CTRL port */
connect(gb.vc_NS:NS_CTRL, self:PCU_NS_CTRL[offset]);
gb.vc_NS.start(NSStart(mp_nsconfig_pcu[offset], ns_id));
gb.vc_BSSGP.start(BssgpStart(gb.cfg, bssgp_id));
@ -474,6 +479,8 @@ private function f_init_gb_sgsn(inout GbInstance gb, charstring id, integer offs
gb.vc_BSSGP := BSSGP_CT.create(bssgp_id) alive;
/* connect lower end of BSSGP emulation with NS upper port */
connect(gb.vc_BSSGP:BSCP, gb.vc_NS:NS_SP);
/* connect ourselves to the NS CTRL port */
connect(gb.vc_NS:NS_CTRL, self:SGSN_NS_CTRL[offset]);
gb.vc_NS.start(NSStart(mp_nsconfig_sgsn[offset], ns_id));
gb.vc_BSSGP.start(BssgpStart(gb.cfg, bssgp_id));
@ -3701,6 +3708,24 @@ testcase TC_status_ptp_dl_bvci() runs on GlobalTest_CT
/* TODO: test case for DL-STATUS(SUSPEND/RESUME) containing RA-ID; expect routing by RA-ID */
/* TODO: test case for UL-STATUS(PAGING-by-IMSI) after sending an actual PAGIN-by-IMSI in DL first */
private function f_TC_nsvc_loss(charstring id) runs on BSSGP_ConnHdlr {
f_sleep(10.0);
setverdict(pass);
}
testcase TC_nsvc_loss() runs on test_CT {
f_init(1000.0);
//f_start_handlers(refers(f_TC_nsvc_loss), testcasename(), 51, 1000.0);
f_sleep(10.0);
log("===========> Now Disabling one NS-VC");
SGSN_NS_CTRL[0].send(NsDisableVcRequest:{nsvci := 101})
f_sleep(60.0);
log("===========> Now Re-Enabling one NS-VC");
SGSN_NS_CTRL[0].send(NsEnableVcRequest:{nsvci := 101})
f_sleep(30.0);
f_cleanup();
}
control {
execute( TC_BVC_bringup() );
/* Depends on osmo-gbproxy > 0.2.0 */