Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_nacc_outbound_success_no_ctrl_ack

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/.

pespin gerrit-no-reply at lists.osmocom.org
Tue Feb 2 11:17:42 UTC 2021


pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22628 )


Change subject: pcu: Introduce test TC_nacc_outbound_success_no_ctrl_ack
......................................................................

pcu: Introduce test TC_nacc_outbound_success_no_ctrl_ack

Related: OS#4909
Change-Id: I371033604db8ae845e7c3fb03aef1821520064d9
---
M pcu/PCU_Tests.ttcn
1 file changed, 59 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/22628/1

diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn
index 1d4e129..5f44e57 100644
--- a/pcu/PCU_Tests.ttcn
+++ b/pcu/PCU_Tests.ttcn
@@ -3685,7 +3685,8 @@
 
 /* Start NACC from MS side */
 private function f_outbound_nacc_success(inout GprsMS ms, PCUIF_info_ind info_ind,
-					 boolean exp_rac_ci_query := true, boolean exp_si_query := true)
+					 boolean exp_rac_ci_query := true, boolean exp_si_query := true,
+					 boolean skip_final_ctrl_ack := false)
 runs on RAW_PCU_Test_CT {
 	var template (value) RlcmacUlCtrlMsg cell_chf_notif;
 	var RlcmacDlBlock dl_block;
@@ -3745,7 +3746,7 @@
 		f_shutdown(__BFILE__, __LINE__);
 	}
 	/* PKT CELL CHG CONTINUE ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */
-	if (dl_block.ctrl.mac_hdr.rrbp_valid) {
+	if (not skip_final_ctrl_ack and dl_block.ctrl.mac_hdr.rrbp_valid) {
 		sched_fn := f_rrbp_ack_fn(sched_fn, dl_block.ctrl.mac_hdr.rrbp);
 		f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn);
 	}
@@ -3792,6 +3793,61 @@
 	f_shutdown(__BFILE__, __LINE__, final := true);
 }
 
+/* Verify Pkt Cell Change Continue is retransmitted if not CTRL ACKed */
+testcase TC_nacc_outbound_success_no_ctrl_ack() runs on RAW_PCU_Test_CT {
+	var PollFnCtx pollctx;
+	var GprsMS ms;
+	var RlcmacDlBlock dl_block;
+	var uint32_t sched_fn;
+	var PCUIF_info_ind info_ind := valueof(ts_PCUIF_INFO_default);
+	var MultislotCap_GPRS mscap_gprs := {
+		gprsmultislotclass := '00011'B,
+		gprsextendeddynalloccap := '0'B
+	};
+	var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, omit)) };
+
+	/* Initialize osmo-bsc emulation neighbor resolution CTRL port */
+	f_ipa_ctrl_start_server(mp_ctrl_neigh_ip, mp_ctrl_neigh_port);
+
+	/* Initialize NS/BSSGP side */
+	f_init_bssgp();
+	/* Initialize GPRS MS side */
+	f_init_gprs_ms();
+	ms := g_ms[0]; /* We only use first MS in this test */
+
+	/* Initialize the PCU interface abstraction */
+	f_init_raw(testcasename(), info_ind);
+
+	/* Make sure we are not affected by full cache from previous tests */
+	f_pcuvty_flush_neigh_caches();
+
+	/* Establish BSSGP connection to the PCU */
+	f_bssgp_establish();
+	f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
+
+	/* Send PACKET RESOURCE REQUEST */
+	pollctx := f_ms_establish_ul_tbf_2phase_access(ms, ts_RlcMacUlCtrl_PKT_RES_REQ(ms.tlli, ms_racap));
+	/* Pkt Uplink Assignment above sets poll+rrbp requesting PACKET CONTROL ACK */
+	f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), pollctx.fn, nr := pollctx.tstrxbts);
+
+	/* Start NACC from MS side, avoid sending final CTRL ACK */
+	f_outbound_nacc_success(ms, info_ind, skip_final_ctrl_ack := true);
+
+	/* Wait until we receive something non-dummy */
+	dl_block := f_skip_dummy(0, sched_fn);
+	/* Make sure it is a Pkt Cell Chg Continue (retransmitted)*/
+	if (not match(dl_block, tr_RLCMAC_DL_CTRL(?, tr_RlcMacDlCtrl_PKT_CELL_CHG_CONTINUE))) {
+		setverdict(fail, "Rx unexpected DL block: ", dl_block);
+	}
+	/* PKT CELL CHG CONTINUE ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */
+	if (dl_block.ctrl.mac_hdr.rrbp_valid) {
+		sched_fn := f_rrbp_ack_fn(sched_fn, dl_block.ctrl.mac_hdr.rrbp);
+		f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn);
+	}
+
+	f_shutdown(__BFILE__, __LINE__, final := true);
+}
+
 /* Verify PCU handles outbound Network Assisted Cell Change Cell Change (NACC, TS 44.060 sec 8.8) twice, the second time using the caches  */
 testcase TC_nacc_outbound_success_twice() runs on RAW_PCU_Test_CT {
 	var PollFnCtx pollctx;
@@ -4249,6 +4305,7 @@
 
 	execute( TC_pcuif_info_ind_subsequent() );
 	execute( TC_nacc_outbound_success() );
+	execute( TC_nacc_outbound_success_no_ctrl_ack() );
 	execute( TC_nacc_outbound_success_twice() );
 	execute( TC_nacc_outbound_success_twice_nocache() );
 	execute( TC_nacc_outbound_rac_ci_resolve_conn_refused() );

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22628
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I371033604db8ae845e7c3fb03aef1821520064d9
Gerrit-Change-Number: 22628
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210202/70e131d5/attachment.htm>


More information about the gerrit-log mailing list