Change in osmo-ttcn3-hacks[master]: BSSGP_Emulation.ttcn: extend BSSGP_Client_CT to hold 3 instances of B...

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Tue Aug 14 13:26:47 UTC 2018


Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/10377 )

Change subject: BSSGP_Emulation.ttcn: extend BSSGP_Client_CT to hold 3 instances of BSSGP
......................................................................

BSSGP_Emulation.ttcn: extend BSSGP_Client_CT to hold 3 instances of BSSGP

Change-Id: Ibd7abba826a08b582361e9c255e9c44185e14067
---
M library/BSSGP_Emulation.ttcn
M pcu/PCU_Tests.ttcn
M sgsn/SGSN_Tests.ttcn
3 files changed, 112 insertions(+), 112 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/library/BSSGP_Emulation.ttcn b/library/BSSGP_Emulation.ttcn
index 8b3b9eb..a9d2a25 100644
--- a/library/BSSGP_Emulation.ttcn
+++ b/library/BSSGP_Emulation.ttcn
@@ -79,9 +79,9 @@
  ***********************************************************************/
 
 type component BSSGP_Client_CT {
-	port BSSGP_PT BSSGP;
-	port BSSGP_PT BSSGP_SIG;
-	port BSSGP_PROC_PT BSSGP_PROC;
+	port BSSGP_PT BSSGP[3];
+	port BSSGP_PT BSSGP_SIG[3];
+	port BSSGP_PROC_PT BSSGP_PROC[3];
 };
 
 /***********************************************************************
@@ -660,14 +660,14 @@
 	return dec;
 }
 
-function f_bssgp_client_register(hexstring imsi, OCT4 tlli, BssgpCellId cell_id, BSSGP_PROC_PT PT := BSSGP_PROC)
+function f_bssgp_client_register(hexstring imsi, OCT4 tlli, BssgpCellId cell_id, BSSGP_PROC_PT PT := BSSGP_PROC[0])
 runs on BSSGP_Client_CT {
 	PT.call(BSSGP_register_client:{imsi, tlli, cell_id}) {
 		[] PT.getreply(BSSGP_register_client:{imsi, tlli, cell_id}) {};
 	}
 }
 
-function f_bssgp_client_unregister(hexstring imsi, BSSGP_PROC_PT PT := BSSGP_PROC)
+function f_bssgp_client_unregister(hexstring imsi, BSSGP_PROC_PT PT := BSSGP_PROC[0])
 runs on BSSGP_Client_CT {
 	PT.call(BSSGP_unregister_client:{imsi}) {
 		[] PT.getreply(BSSGP_unregister_client:{imsi}) {};
@@ -675,7 +675,7 @@
 }
 
 /* TS 44.064 7.2.1.1 LLGMM-ASSIGN */
-function f_bssgp_client_llgmm_assign(OCT4 tlli_old, OCT4 tlli_new, BSSGP_PROC_PT PT := BSSGP_PROC)
+function f_bssgp_client_llgmm_assign(OCT4 tlli_old, OCT4 tlli_new, BSSGP_PROC_PT PT := BSSGP_PROC[0])
 runs on BSSGP_Client_CT {
 	PT.call(BSSGP_llgmm_assign:{tlli_old, tlli_new}) {
 		[] PT.getreply(BSSGP_llgmm_assign:{tlli_old, tlli_new}) {};
diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn
index d59ac11..a63ca1d 100644
--- a/pcu/PCU_Tests.ttcn
+++ b/pcu/PCU_Tests.ttcn
@@ -68,9 +68,9 @@
 		ns_component := NS_CT.create;
 		bssgp_component := BSSGP_CT.create;
 		/* connect our BSSGP port to the BSSGP Emulation */
-		connect(self:BSSGP, bssgp_component:BSSGP_SP);
-		connect(self:BSSGP_SIG, bssgp_component:BSSGP_SP_SIG);
-		connect(self:BSSGP_PROC, bssgp_component:BSSGP_PROC);
+		connect(self:BSSGP[0], bssgp_component:BSSGP_SP);
+		connect(self:BSSGP_SIG[0], bssgp_component:BSSGP_SP_SIG);
+		connect(self:BSSGP_PROC[0], bssgp_component:BSSGP_PROC);
 		/* connect lower-end of BSSGP with BSSGP_CODEC_PORT (maps to NS_PT*/
 		connect(bssgp_component:BSCP, ns_component:NS_SP);
 		/* connect lower-end of NS emulation to NS_CODEC_PORT (on top of IPl4) */
@@ -186,7 +186,7 @@
 
 		log(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc)));
 
-		BSSGP.send(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc)));
+		BSSGP[0].send(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc)));
 	}
 
 	/* Establish BSSGP connection to PCU */
@@ -196,8 +196,8 @@
 		f_init();
 		T.start
 		alt {
-			[] BSSGP.receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { }
-			[] BSSGP.receive { repeat; }
+			[] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { }
+			[] BSSGP[0].receive { repeat; }
 			[] T.timeout {
 				setverdict(fail, "Timeout establishing BSSGP connection");
 				mtc.stop;
@@ -215,17 +215,17 @@
 		f_init();
 
 		/* Send paging on signalling BVCI 0 since osmo-pcu does not support paging on PTP yet. */
-		BSSGP_SIG.send(ts_BSSGP_PS_PAGING_IMSI(0, g_mmctx.imsi));
-		BSSGP_SIG.send(ts_BSSGP_PS_PAGING_PTMSI(0, g_mmctx.imsi, tmsi));
+		BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_IMSI(0, g_mmctx.imsi));
+		BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_PTMSI(0, g_mmctx.imsi, tmsi));
 
 		while (true) {
 			var BssgpDecoded bd;
 			alt {
-				[] BSSGP.receive(tr_BD_L3_MT(?)) -> value bd {
+				[] BSSGP[0].receive(tr_BD_L3_MT(?)) -> value bd {
 					log("BSSGP Rx: ", bd);
 				}
-				[] BSSGP.receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; }
-				[] BSSGP.receive { repeat; }
+				[] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; }
+				[] BSSGP[0].receive { repeat; }
 			}
 		}
 	}
@@ -283,7 +283,7 @@
 	timer T := 5.0;
 	T.start;
 	alt {
-	[] BSSGP.receive(bd_exp) {
+	[] BSSGP[0].receive(bd_exp) {
 		log("found matching BSSGP UL-UNITDATA PDU");
 		}
 	[] T.timeout {
@@ -355,14 +355,14 @@
 		while (true) {
 			var BssgpDecoded bd;
 			alt {
-				[] BSSGP.receive(tr_BD_BSSGP(?)) -> value bd {
+				[] BSSGP[0].receive(tr_BD_BSSGP(?)) -> value bd {
 					log("BSSGP Rx: ", bd);
 					//log("GMM Rx: ", dec_PDU_L3_MS_SGSN(pdu.payload));
 					g_mmctx.tlli := bd.bssgp.pDU_BSSGP_UL_UNITDATA.tLLI;
 					tx_gmm(LLC_CR_DL_CMD, gmm_auth_req);
 				}
-				[] BSSGP.receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; }
-				[] BSSGP.receive { repeat; }
+				[] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; }
+				[] BSSGP[0].receive { repeat; }
 			}
 		}
 	}
diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn
index d2db909..6bf2d60 100644
--- a/sgsn/SGSN_Tests.ttcn
+++ b/sgsn/SGSN_Tests.ttcn
@@ -259,8 +259,8 @@
 	};
 
 	vc_conn := BSSGP_ConnHdlr.create(id);
-	connect(vc_conn:BSSGP, gb.vc_BSSGP:BSSGP_SP);
-	connect(vc_conn:BSSGP_PROC, gb.vc_BSSGP:BSSGP_PROC);
+	connect(vc_conn:BSSGP[0], gb.vc_BSSGP:BSSGP_SP);
+	connect(vc_conn:BSSGP_PROC[0], gb.vc_BSSGP:BSSGP_PROC);
 
 	connect(vc_conn:GSUP, vc_GSUP:GSUP_CLIENT);
 	connect(vc_conn:GSUP_PROC, vc_GSUP:GSUP_PROC);
@@ -321,14 +321,14 @@
 
 altstep as_mm_identity() runs on BSSGP_ConnHdlr {
 	var MobileL3_CommonIE_Types.MobileIdentityLV mi;
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ID_REQ('001'B))) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ID_REQ('001'B))) {
 		mi := valueof(ts_MI_IMSI_LV(g_pars.imsi));
-		BSSGP.send(ts_GMM_ID_RESP(mi));
+		BSSGP[0].send(ts_GMM_ID_RESP(mi));
 		repeat;
 	}
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ID_REQ('010'B))) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ID_REQ('010'B))) {
 		mi := valueof(ts_MI_IMEI_LV(g_pars.imei));
-		BSSGP.send(ts_GMM_ID_RESP(mi));
+		BSSGP[0].send(ts_GMM_ID_RESP(mi));
 		repeat;
 	}
 }
@@ -374,7 +374,7 @@
 
 		var template PDU_L3_SGSN_MS auth_ciph_req := tr_GMM_AUTH_REQ(g_pars.vec.rand);
 		auth_ciph_req.msgs.gprs_mm.authenticationAndCipheringRequest.authenticationParameterAUTN := autn;
-		BSSGP.receive(tr_BD_L3_MT(auth_ciph_req)) -> value bd;
+		BSSGP[0].receive(tr_BD_L3_MT(auth_ciph_req)) -> value bd;
 		l3_mt := bd.l3_mt;
 		var BIT4 ac_ref := l3_mt.msgs.gprs_mm.authenticationAndCipheringRequest.acReferenceNumber.valueField;
 		var template PDU_L3_MS_SGSN auth_ciph_resp := ts_GMM_AUTH_RESP_2G(ac_ref, g_pars.vec.sres);
@@ -397,7 +397,7 @@
 			l3_mo.msgs.gprs_mm.authenticationAndCipheringResponse.imeisv :=
 						valueof(ts_MI_IMEISV_TLV(g_pars.imei & '0'H));
 		}
-		BSSGP.send(l3_mo);
+		BSSGP[0].send(l3_mo);
 	} else {
 		/* wait for identity procedure */
 		f_sleep(1.0);
@@ -503,16 +503,16 @@
 	 * revisionLevelIndicatior is at the wrong place! */
 	attach_req.msgs.gprs_mm.attachRequest.msNetworkCapability.msNetworkCapabilityV.solSACapability := '0'B;
 
-	BSSGP.send(attach_req);
+	BSSGP[0].send(attach_req);
 	f_gmm_auth(umts_aka_challenge, force_gsm_sres);
 	/* Expect SGSN to perform LU with HLR */
 	f_gmm_gsup_lu_isd();
 
-	BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?))) -> value bd {
+	BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?))) -> value bd {
 		f_process_attach_accept(bd.l3_mt.msgs.gprs_mm.attachAccept);
 	}
 	/* FIXME: Extract P-TMSI, if any. Only send Complete if necessary */
-	BSSGP.send(ts_GMM_ATTACH_COMPL);
+	BSSGP[0].send(ts_GMM_ATTACH_COMPL);
 }
 
 private function f_TC_attach(charstring id) runs on BSSGP_ConnHdlr {
@@ -564,16 +564,16 @@
 private function f_TC_attach_auth_id_timeout(charstring id) runs on BSSGP_ConnHdlr {
 	var RoutingAreaIdentificationV old_ra := f_random_RAI();
 
-	BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
+	BSSGP[0].send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
 	alt {
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ID_REQ(?))) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ID_REQ(?))) {
 		/* don't send ID Response */
 		repeat;
 		}
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT('09'O))) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT('09'O))) {
 		setverdict(pass);
 		}
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
 		setverdict(fail, "Wrong Attach Reject Cause");
 		mtc.stop;
 		}
@@ -590,13 +590,13 @@
 private function f_TC_attach_auth_sai_timeout(charstring id) runs on BSSGP_ConnHdlr {
 	var RoutingAreaIdentificationV old_ra := f_random_RAI();
 
-	BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
+	BSSGP[0].send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
 	alt {
 	[] as_mm_identity();
 	[] GSUP.receive(tr_GSUP_SAI_REQ(g_pars.imsi)); { }
 	}
 	/* don't send SAI-response from HLR */
-	BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?)));
+	BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?)));
 	setverdict(pass);
 }
 testcase TC_attach_auth_sai_timeout() runs on test_CT {
@@ -610,14 +610,14 @@
 private function f_TC_attach_auth_sai_reject(charstring id) runs on BSSGP_ConnHdlr {
 	var RoutingAreaIdentificationV old_ra := f_random_RAI();
 
-	BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
+	BSSGP[0].send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
 	alt {
 	[] as_mm_identity();
 	[] GSUP.receive(tr_GSUP_SAI_REQ(g_pars.imsi)); {
 		GSUP.send(ts_GSUP_SAI_ERR(g_pars.imsi, 23));
 		}
 	}
-	BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?)));
+	BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?)));
 	setverdict(pass);
 }
 testcase TC_attach_auth_sai_reject() runs on test_CT {
@@ -632,16 +632,16 @@
 	var BssgpDecoded bd;
 	var RoutingAreaIdentificationV old_ra := f_random_RAI();
 
-	BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
+	BSSGP[0].send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
 	f_gmm_auth();
 	/* Expect MSC to perform LU with HLR */
 	GSUP.receive(tr_GSUP_UL_REQ(g_pars.imsi));
 	/* Never follow-up with ISD_REQ or UL_RES */
 	alt {
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
 		setverdict(pass);
 		}
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?))) -> value bd {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?))) -> value bd {
 		f_process_attach_accept(bd.l3_mt.msgs.gprs_mm.attachAccept);
 		setverdict(fail);
 		mtc.stop;
@@ -661,17 +661,17 @@
 	var BssgpDecoded bd;
 	var RoutingAreaIdentificationV old_ra := f_random_RAI();
 
-	BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
+	BSSGP[0].send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
 	f_gmm_auth();
 	/* Expect MSC to perform LU with HLR */
 	GSUP.receive(tr_GSUP_UL_REQ(g_pars.imsi)) {
 		GSUP.send(ts_GSUP_UL_ERR(g_pars.imsi, 0));
 	}
 	alt {
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
 		setverdict(pass);
 		}
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?))) -> value bd {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?))) -> value bd {
 		f_process_attach_accept(bd.l3_mt.msgs.gprs_mm.attachAccept);
 		setverdict(fail);
 		mtc.stop;
@@ -692,15 +692,15 @@
 	var BssgpDecoded bd;
 	var RoutingAreaIdentificationV old_ra := f_random_RAI();
 
-	BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, true, false, omit, omit));
+	BSSGP[0].send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, true, false, omit, omit));
 	f_gmm_auth();
 	/* Expect MSC to perform LU with HLR */
 	f_gmm_gsup_lu_isd();
 
-	BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?))) -> value bd {
+	BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?))) -> value bd {
 		f_process_attach_accept(bd.l3_mt.msgs.gprs_mm.attachAccept);
 	}
-	BSSGP.send(ts_GMM_ATTACH_COMPL);
+	BSSGP[0].send(ts_GMM_ATTACH_COMPL);
 	setverdict(pass);
 }
 testcase TC_attach_combined() runs on test_CT {
@@ -718,12 +718,12 @@
 
 	g_pars.net.expect_auth := false;
 
-	BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
+	BSSGP[0].send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
 	f_gmm_auth();
-	BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?))) -> value bd {
+	BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?))) -> value bd {
 		f_process_attach_accept(bd.l3_mt.msgs.gprs_mm.attachAccept);
 	}
-	BSSGP.send(ts_GMM_ATTACH_COMPL);
+	BSSGP[0].send(ts_GMM_ATTACH_COMPL);
 	setverdict(pass);
 }
 testcase TC_attach_accept_all() runs on test_CT {
@@ -745,16 +745,16 @@
 
 	g_pars.net.expect_auth := false;
 
-	BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
+	BSSGP[0].send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
 	alt {
 	[] as_mm_identity();
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT('07'O))) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT('07'O))) {
 		setverdict(pass);
 		}
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
 		setverdict(pass);
 		}
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT(*, *, *))) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT(*, *, *))) {
 		setverdict(fail);
 		mtc.stop;
 		}
@@ -777,13 +777,13 @@
 private function f_TC_rau_unknown(charstring id) runs on BSSGP_ConnHdlr {
 	var RoutingAreaIdentificationV old_ra := f_random_RAI();
 
-	BSSGP.send(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, old_ra, false, omit, omit));
+	BSSGP[0].send(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, old_ra, false, omit, omit));
 	alt {
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_RAU_REJECT('0a'O))) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_RAU_REJECT('0a'O))) {
 		setverdict(pass);
 		}
 	/* FIXME: Expect XID RESET? */
-	[] BSSGP.receive { repeat; }
+	[] BSSGP[0].receive { repeat; }
 	}
 }
 testcase TC_rau_unknown() runs on test_CT {
@@ -801,18 +801,18 @@
 	f_TC_attach(id);
 
 	/* then send RAU */
-	BSSGP.send(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, g_pars.ra, false, omit, omit));
+	BSSGP[0].send(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, g_pars.ra, false, omit, omit));
 	alt {
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_RAU_ACCEPT)) -> value bd {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_RAU_ACCEPT)) -> value bd {
 		f_process_rau_accept(bd.l3_mt.msgs.gprs_mm.routingAreaUpdateAccept);
-		BSSGP.send(ts_GMM_RAU_COMPL);
+		BSSGP[0].send(ts_GMM_RAU_COMPL);
 		setverdict(pass);
 		}
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_RAU_REJECT)) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_RAU_REJECT)) {
 		setverdict(fail, "Unexpected RAU Reject");
 		mtc.stop;
 		}
-	[] BSSGP.receive { repeat; }
+	[] BSSGP[0].receive { repeat; }
 	}
 }
 testcase TC_attach_rau() runs on test_CT {
@@ -827,7 +827,7 @@
 function f_detach_mo(BIT3 detach_type, boolean power_off, boolean expect_purge) runs on BSSGP_ConnHdlr {
 	var BssgpDecoded bd;
 	timer T := 5.0;
-	BSSGP.send(ts_GMM_DET_REQ_MO(detach_type, power_off));
+	BSSGP[0].send(ts_GMM_DET_REQ_MO(detach_type, power_off));
 	if (expect_purge) {
 		GSUP.receive(tr_GSUP_PURGE_MS_REQ(g_pars.imsi, OSMO_GSUP_CN_DOMAIN_PS));
 		GSUP.send(ts_GSUP_PURGE_MS_RES(g_pars.imsi));
@@ -838,7 +838,7 @@
 		setverdict(fail, "Unexpected GSUP PURGE MS for unregistered TLLI");
 		mtc.stop;
 		}
-	[power_off] BSSGP.receive(tr_BD_L3_MT(tr_GMM_DET_ACCEPT_MT)) -> value bd {
+	[power_off] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_DET_ACCEPT_MT)) -> value bd {
 		g_pars.ra := omit;
 		setverdict(fail, "Unexpected ATTACH ACCEPT in no-power-off DETACH");
 		mtc.stop;
@@ -847,12 +847,12 @@
 	[power_off] T.timeout {
 		setverdict(pass);
 		}
-	[not power_off] BSSGP.receive(tr_BD_L3_MT(tr_GMM_DET_ACCEPT_MT)) -> value bd {
+	[not power_off] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_DET_ACCEPT_MT)) -> value bd {
 		g_pars.ra := omit;
 		setverdict(pass);
 		/* TODO: check if any PDP contexts are deactivated on network side? */
 		}
-	[] BSSGP.receive { repeat; }
+	[] BSSGP[0].receive { repeat; }
 	}
 }
 
@@ -954,7 +954,7 @@
 		recovery := ts_Recovery(apars.ggsn_restart_ctr);
 	}
 
-	BSSGP.send(ts_SM_ACT_PDP_REQ(apars.tid, apars.nsapi, apars.sapi, apars.qos, apars.addr,
+	BSSGP[0].send(ts_SM_ACT_PDP_REQ(apars.tid, apars.nsapi, apars.sapi, apars.qos, apars.addr,
 				     apars.apn, apars.pco));
 	GTP.receive(tr_GTPC_MsgType(?, createPDPContextRequest, ?)) -> value g_ud {
 		f_process_gtp_ctx_act_req(apars, g_ud.gtpc);
@@ -967,18 +967,18 @@
 						omit, recovery));
 	}
 	alt {
-	[exp_rej] BSSGP.receive(tr_BD_L3_MT(tr_SM_ACT_PDP_REJ(apars.tid, apars.exp_rej_cause))) {
+	[exp_rej] BSSGP[0].receive(tr_BD_L3_MT(tr_SM_ACT_PDP_REJ(apars.tid, apars.exp_rej_cause))) {
 		setverdict(pass);
 		}
-	[exp_rej] BSSGP.receive(tr_BD_L3_MT(tr_SM_ACT_PDP_ACCEPT)) {
+	[exp_rej] BSSGP[0].receive(tr_BD_L3_MT(tr_SM_ACT_PDP_ACCEPT)) {
 		setverdict(fail, "Unexpected PDP CTX ACT ACC");
 		mtc.stop;
 		}
-	[not exp_rej] BSSGP.receive(tr_BD_L3_MT(tr_SM_ACT_PDP_REJ(apars.tid, ?))) {
+	[not exp_rej] BSSGP[0].receive(tr_BD_L3_MT(tr_SM_ACT_PDP_REJ(apars.tid, ?))) {
 		setverdict(fail, "Unexpected PDP CTX ACT FAIL");
 		mtc.stop;
 		}
-	[not exp_rej] BSSGP.receive(tr_BD_L3_MT(tr_SM_ACT_PDP_ACCEPT(apars.tid, apars.sapi))) {
+	[not exp_rej] BSSGP[0].receive(tr_BD_L3_MT(tr_SM_ACT_PDP_ACCEPT(apars.tid, apars.sapi))) {
 		setverdict(pass);
 		}
 	[] as_xid(apars);
@@ -989,14 +989,14 @@
 	var boolean exp_rej := ispresent(apars.exp_rej_cause);
 	var Gtp1cUnitdata g_ud;
 
-	BSSGP.send(ts_SM_DEACT_PDP_REQ_MO(apars.tid, cause, false, omit));
+	BSSGP[0].send(ts_SM_DEACT_PDP_REQ_MO(apars.tid, cause, false, omit));
 	GTP.receive(tr_GTPC_MsgType(?, deletePDPContextRequest, apars.ggsn_tei_c)) -> value g_ud {
 		var integer seq_nr := oct2int(g_ud.gtpc.opt_part.sequenceNumber);
-		BSSGP.clear;
+		BSSGP[0].clear;
 		GTP.send(ts_GTPC_DeletePdpResp(g_ud.peer, seq_nr, apars.sgsn_tei_c, '7F'O));
 	}
 	alt {
-	[] BSSGP.receive(tr_BD_L3_MT(tr_SM_DEACT_PDP_ACCEPT_MT(apars.tid))) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_SM_DEACT_PDP_ACCEPT_MT(apars.tid))) {
 		setverdict(pass);
 		}
 	[] as_xid(apars);
@@ -1008,7 +1008,7 @@
 	var integer seq_nr := 23;
 	var GtpPeer peer := valueof(ts_GtpPeerC(apars.sgsn_ip_c));
 
-	BSSGP.clear;
+	BSSGP[0].clear;
 	if (error_ind) {
 		GTP.send(ts_GTPU_ErrorIndication(peer, 0 /* seq */, apars.ggsn_tei_u, apars.ggsn_ip_u));
 	} else {
@@ -1019,8 +1019,8 @@
 	T.start;
 
 	alt {
-	[] BSSGP.receive(tr_BD_L3_MT(tr_SM_DEACT_PDP_REQ_MT(apars.tid, ?, true))) {
-		BSSGP.send(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid));
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_SM_DEACT_PDP_REQ_MT(apars.tid, ?, true))) {
+		BSSGP[0].send(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid));
 		}
 	[not error_ind] GTP.receive(tr_GTPC_MsgType(?, deletePDPContextResponse, apars.ggsn_tei_c)) {
 		repeat;
@@ -1124,7 +1124,7 @@
 }
 
 private altstep as_xid(PdpActPars apars) runs on BSSGP_ConnHdlr {
-	[] BSSGP.receive(tr_BD_LLC(tr_LLC_XID(?, apars.sapi))) {
+	[] BSSGP[0].receive(tr_BD_LLC(tr_LLC_XID(?, apars.sapi))) {
 		repeat;
 	}
 }
@@ -1169,7 +1169,7 @@
 	/* Expect PDU via BSSGP/LLC on simulated PCU from SGSN */
 	alt {
 	[] as_xid(apars);
-	[] BSSGP.receive(tr_BD_SNDCP(apars.sapi, tr_SN_UD(apars.nsapi, payload)));
+	[] BSSGP[0].receive(tr_BD_SNDCP(apars.sapi, tr_SN_UD(apars.nsapi, payload)));
 	}
 }
 
@@ -1178,7 +1178,7 @@
 	/* Send PDU via SNDCP/LLC/BSSGP/NS via simulated MS/PCU to the SGSN */
 	var GtpPeer peer := valueof(ts_GtpPeerU(apars.sgsn_ip_u));
 	var PDU_SN sndcp := valueof(ts_SN_UD(apars.nsapi, payload));
-	BSSGP.send(ts_LLC_UI(enc_PDU_SN(sndcp), apars.sapi, '0'B, 0));
+	BSSGP[0].send(ts_LLC_UI(enc_PDU_SN(sndcp), apars.sapi, '0'B, 0));
 	/* Expect PDU via GTP from SGSN on simulated GGSN */
 	alt {
 	[] GTP.receive(tr_GTPU_GPDU(peer, apars.ggsn_tei_u, payload));
@@ -1203,22 +1203,22 @@
 /* PDP Context activation for not-attached subscriber; expect fail */
 private function f_TC_pdp_act_unattached(charstring id) runs on BSSGP_ConnHdlr {
 	var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip));
-	BSSGP.send(ts_SM_ACT_PDP_REQ(apars.tid, apars.nsapi, apars.sapi, apars.qos, apars.addr,
+	BSSGP[0].send(ts_SM_ACT_PDP_REQ(apars.tid, apars.nsapi, apars.sapi, apars.qos, apars.addr,
 				     apars.apn, apars.pco));
 	alt {
 	/* We might want toalso actually expect a PDPC CTX ACT REJ? */
-	[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_DET_REQ_MT(?, ?))) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_DET_REQ_MT(?, ?))) {
 		setverdict(pass);
 		}
 	[] GTP.receive(tr_GTPC_MsgType(?, createPDPContextRequest, ?)) {
 		setverdict(fail, "Unexpected GTP PDP CTX ACT");
 		mtc.stop;
 		}
-	[] BSSGP.receive(tr_BD_L3_MT(tr_SM_ACT_PDP_ACCEPT(?, ?))) {
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_SM_ACT_PDP_ACCEPT(?, ?))) {
 		setverdict(fail, "Unexpected SM PDP CTX ACT ACK");
 		mtc.stop;
 		}
-	[] BSSGP.receive { repeat; }
+	[] BSSGP[0].receive { repeat; }
 	}
 }
 testcase TC_pdp_act_unattached() runs on test_CT {
@@ -1350,8 +1350,8 @@
 	}
 	var OCT1 cause_network_failure := int2oct(38, 1)
 	alt {
-	[] BSSGP.receive(tr_BD_L3_MT(tr_SM_DEACT_PDP_REQ_MT(apars.tid, cause_network_failure, true))) {
-		BSSGP.send(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid));
+	[] BSSGP[0].receive(tr_BD_L3_MT(tr_SM_DEACT_PDP_REQ_MT(apars.tid, cause_network_failure, true))) {
+		BSSGP[0].send(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid));
 		setverdict(pass);
 		}
 	[] as_xid(apars);
@@ -1419,20 +1419,20 @@
 	/* then activate PDP context */
 	f_pdp_ctx_act(apars);
 
-	BSSGP.clear;
+	BSSGP[0].clear;
 	peer := valueof(ts_GtpPeerC(apars.sgsn_ip_c));
 	GTP.send(ts_GTPC_DeletePDP(peer, seq_nr, apars.sgsn_tei_c, apars.nsapi, '1'B));
 
 	for (i := 0; i < 5; i := i+1) {
 		alt {
-			[] BSSGP.receive(tr_BD_L3_MT(tr_SM_DEACT_PDP_REQ_MT(apars.tid, ?, true))) {}
+			[] BSSGP[0].receive(tr_BD_L3_MT(tr_SM_DEACT_PDP_REQ_MT(apars.tid, ?, true))) {}
 			[] as_xid(apars);
 		}
 	}
 
 	GTP.receive(tr_GTPC_MsgType(?, deletePDPContextResponse, apars.ggsn_tei_c)) {}
 
-	BSSGP.send(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid));
+	BSSGP[0].send(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid));
 	setverdict(pass);
 }
 testcase TC_attach_pdp_act_deact_mt_t3395_expire() runs on test_CT {
@@ -1455,7 +1455,7 @@
 	timer T := 5.0;
 	T.start;
 	alt {
-		[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_DET_REQ_MT(*, *, *))) {
+		[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_DET_REQ_MT(*, *, *))) {
 			T.stop;
 			setverdict(fail, "Unexpected GMM Detach Request");
 			mtc.stop;
@@ -1464,7 +1464,7 @@
 			setverdict(pass);
 			mtc.stop;
 		}
-		[] BSSGP.receive {
+		[] BSSGP[0].receive {
 			repeat;
 		}
 	}
@@ -1514,8 +1514,8 @@
 	GSUP.send(ts_GSUP_UL_RES(g_pars.imsi));
 
 	/* MS: receive a Detach Request */
-	BSSGP.receive(tr_BD_L3_MT(tr_GMM_DET_REQ_MT(c_GMM_DTT_MT_IMSI_DETACH, ?, ?)));
-	BSSGP.send(ts_GMM_DET_ACCEPT_MO);
+	BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_DET_REQ_MT(c_GMM_DTT_MT_IMSI_DETACH, ?, ?)));
+	BSSGP[0].send(ts_GMM_DET_ACCEPT_MO);
 
 	setverdict(pass);
 }
@@ -1606,18 +1606,18 @@
 	var integer count_req := 0;
 	var MobileL3_CommonIE_Types.MobileIdentityLV mi;
 
-	BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit));
+	BSSGP[0].send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit));
 
 	alt {
-		[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
+		[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
 			/* break */
 		}
-		[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ID_REQ('001'B))) {
+		[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ID_REQ('001'B))) {
 			mi := valueof(ts_MI_IMSI_LV(g_pars.imsi));
-			BSSGP.send(ts_GMM_ID_RESP(mi));
+			BSSGP[0].send(ts_GMM_ID_RESP(mi));
 			repeat;
 		}
-		[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ID_REQ('010'B))) {
+		[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ID_REQ('010'B))) {
 			/* ignore ID REQ IMEI */
 			count_req := count_req + 1;
 			repeat;
@@ -1654,20 +1654,20 @@
 	/* set p_tmsi to use it in Attach Req via f_mi_get_lv() */
 	g_pars.p_tmsi := 'c0000035'O;
 
-	BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit));
+	BSSGP[0].send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit));
 
 	alt {
-		[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
+		[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
 			/* break */
 		}
-		[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ID_REQ('001'B))) {
+		[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ID_REQ('001'B))) {
 			/* ignore ID REQ IMSI */
 			count_req := count_req + 1;
 			repeat;
 		}
-		[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ID_REQ('010'B))) {
+		[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ID_REQ('010'B))) {
 			mi := valueof(ts_MI_IMEI_LV(g_pars.imei));
-			BSSGP.send(ts_GMM_ID_RESP(mi));
+			BSSGP[0].send(ts_GMM_ID_RESP(mi));
 			repeat;
 		}
 	}
@@ -1728,16 +1728,16 @@
 	/* there is no auth */
 	g_pars.net.expect_auth := false;
 
-	BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
+	BSSGP[0].send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
 	f_gmm_auth();
 	alt {
-		[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
+		[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
 			setverdict(fail, "Received unexpected GMM Attach REJECT");
 			mtc.stop;
 		}
-		[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT(*, *, *))) -> value bd {
+		[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT(*, *, *))) -> value bd {
 			f_process_attach_accept(bd.l3_mt.msgs.gprs_mm.attachAccept);
-			BSSGP.send(ts_GMM_ATTACH_COMPL);
+			BSSGP[0].send(ts_GMM_ATTACH_COMPL);
 			setverdict(pass);
 		}
 	}
@@ -1774,14 +1774,14 @@
 private function f_TC_attach_check_complete_resend(charstring id) runs on BSSGP_ConnHdlr {
 	var integer count_req := 0;
 
-	BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit));
+	BSSGP[0].send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit));
 	f_gmm_auth();
 
 	alt {
-		[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
+		[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) {
 			/* break */
 		}
-		[] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT(*, *, *))) {
+		[] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT(*, *, *))) {
 			/* ignore */
 			count_req := count_req + 1;
 			repeat;

-- 
To view, visit https://gerrit.osmocom.org/10377
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ibd7abba826a08b582361e9c255e9c44185e14067
Gerrit-Change-Number: 10377
Gerrit-PatchSet: 3
Gerrit-Owner: lynxis lazus <lynxis at fe80.eu>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180814/205052b8/attachment.htm>


More information about the gerrit-log mailing list