Change in osmo-ttcn3-hacks[master]: pcu: send UL CONTROL ACK triggered by DL ACK/NACK

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
Thu Dec 5 13:42:56 UTC 2019


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


Change subject: pcu: send UL CONTROL ACK triggered by DL ACK/NACK
......................................................................

pcu: send UL CONTROL ACK triggered by DL ACK/NACK

Change-Id: Ib409394257427cfc62da08fe06ce6c001dcf608a
---
M pcu/PCU_Tests_RAW.ttcn
1 file changed, 17 insertions(+), 7 deletions(-)



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

diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn
index e4b03c1..7bfcbd0 100644
--- a/pcu/PCU_Tests_RAW.ttcn
+++ b/pcu/PCU_Tests_RAW.ttcn
@@ -741,7 +741,7 @@
 	dl_fn := pcu_msg.u.data_req.fn;
 }
 
-private function f_rx_rlcmac_dl_block_exp_ack_nack(out RlcmacDlBlock dl_block)
+private function f_rx_rlcmac_dl_block_exp_ack_nack(out RlcmacDlBlock dl_block, out uint32_t poll_fn)
 runs on RAW_PCU_Test_CT {
 	var uint32_t dl_fn;
 
@@ -750,6 +750,8 @@
 		setverdict(fail, "Failed to match Packet Uplink ACK / NACK");
 		mtc.stop;
 	}
+
+	poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp);
 }
 
 private function f_rx_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block)
@@ -1084,6 +1086,7 @@
 	var PCUIF_Message pcu_msg;
 	var octetstring data;
 	var boolean ok;
+	var uint32_t unused_fn;
 
 	/* Initialize the PCU interface abstraction */
 	f_init_raw(testcasename());
@@ -1135,7 +1138,7 @@
 		f_tx_rlcmac_ul_block(ul_data, lqual * 10);
 
 		/* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */
-		f_rx_rlcmac_dl_block_exp_ack_nack(dl_block);
+		f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn);
 
 		log("Rx Packet Uplink ACK / NACK with Channel Coding Command: ",
 		    dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd);
@@ -1167,6 +1170,7 @@
 	var boolean ok;
 	var integer lqual_cb;
 	var ChCodingCommand last_ch_coding;
+	var uint32_t unused_fn;
 
 	/* Initialize the PCU interface abstraction */
 	f_init_raw(testcasename());
@@ -1211,7 +1215,7 @@
 		f_tx_rlcmac_ul_block(ul_data, lqual_cb);
 
 		/* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */
-		f_rx_rlcmac_dl_block_exp_ack_nack(dl_block);
+		f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn);
 		last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd;
 	}
 
@@ -1235,7 +1239,7 @@
 		f_tx_rlcmac_ul_block(ul_data, 0); /* 0 dB, make sure we downgrade CS */
 
 		/* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */
-		f_rx_rlcmac_dl_block_exp_ack_nack(dl_block);
+		f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn);
 
 		last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd;
 	}
@@ -1254,6 +1258,7 @@
 	var RlcmacDlBlock dl_block;
 	var boolean ok;
 	var ChCodingCommand last_ch_coding;
+	var uint32_t unused_fn;
 
 	/* Initialize the PCU interface abstraction */
 	f_init_raw(testcasename());
@@ -1295,7 +1300,7 @@
 		f_tx_rlcmac_ul_block(ul_data, 40*10); /* 40 dB */
 
 		/* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */
-		f_rx_rlcmac_dl_block_exp_ack_nack(dl_block);
+		f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn);
 
 		last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd;
 	}
@@ -1316,6 +1321,7 @@
 	var PCUIF_Message pcu_msg;
 	var octetstring data;
 	var boolean ok;
+	var uint32_t unused_fn;
 	var OCT4 tlli := '00000001'O;
 
 	/* Initialize NS/BSSGP side */
@@ -1347,7 +1353,7 @@
 
 	/* Send one UL block and make sure it is ACKED fine */
 	f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1);
-	f_rx_rlcmac_dl_block_exp_ack_nack(dl_block);
+	f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn);
 	/* UL block should be received in SGSN */
 	BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id));
 
@@ -1403,7 +1409,9 @@
 
 	/* Send one UL block and make sure it is ACKED fine */
 	f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1);
-	f_rx_rlcmac_dl_block_exp_ack_nack(dl_block);
+	f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn);
+	/* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */
+	f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn);
 
 	/* UL block should be received in SGSN */
 	BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id));
@@ -1424,6 +1432,8 @@
 
 	/* ACK the DL block */
 	f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn);
+
+	f_sleep(3.0);
 }
 
 control {

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16501
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: Ib409394257427cfc62da08fe06ce6c001dcf608a
Gerrit-Change-Number: 16501
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/20191205/40372e16/attachment.htm>


More information about the gerrit-log mailing list