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.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16502 )
Change subject: pcu: Introduce helpers to update AckNackDescription
......................................................................
pcu: Introduce helpers to update AckNackDescription
Change-Id: Ic62ab9e4a854239b95c434068543d95c5352f1c6
---
M pcu/PCU_Tests_RAW.ttcn
1 file changed, 42 insertions(+), 6 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/02/16502/1
diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn
index 7bfcbd0..12f1c8e 100644
--- a/pcu/PCU_Tests_RAW.ttcn
+++ b/pcu/PCU_Tests_RAW.ttcn
@@ -765,7 +765,7 @@
}
}
-private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, octetstring data)
+private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, octetstring data, uint7_t exp_bsn := 0)
runs on RAW_PCU_Test_CT {
var PCUIF_Message pcu_msg;
var uint32_t dl_fn;
@@ -780,6 +780,11 @@
ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data.mac_hdr.mac_hdr.rrbp);
+ if (dl_block.data.mac_hdr.hdr_ext.bsn != exp_bsn) {
+ setverdict(fail, "DL block BSN doesn't match: ",
+ dl_block.data.blocks[0].hdr.length_ind, " vs exp ", exp_bsn);
+ }
+
if (lengthof(dl_block.data.blocks) < 1) {
setverdict(fail, "DL block has no LLC payload: ", dl_block);
mtc.stop;
@@ -1365,6 +1370,39 @@
f_rx_rlcmac_dl_block_exp_dummy(dl_block);
}
+private function f_acknackdesc_init(inout AckNackDescription desc)
+{
+ desc.final_ack := '0'B;
+ desc.starting_seq_nr := 0;
+ desc.receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B;
+}
+
+/* TS 44.060 sec 12.3 Ack/Nack Description */
+private function f_acknackdesc_ack_block(inout AckNackDescription desc, uint7_t bsn, BIT1 final_ack := '0'B)
+{
+ var integer i;
+ var integer inc := bsn - desc.starting_seq_nr + 1;
+ /* Filling hole? */
+ if (bsn < desc.starting_seq_nr) {
+ desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - (desc.starting_seq_nr - bsn)] := int2bit(1, 1);
+ return;
+ }
+
+ /* SSN is increased, and so RBB values need to be moved */
+ for (i := 0; i < lengthof(desc.receive_block_bitmap) - inc; i := i+1) {
+ desc.receive_block_bitmap[i] := desc.receive_block_bitmap[i + inc];
+ }
+ for (i := lengthof(desc.receive_block_bitmap) - inc; i < lengthof(desc.receive_block_bitmap) - 1; i := i+1) {
+ desc.receive_block_bitmap[i] := int2bit(0, 1);
+ }
+ /* Now we can set current bit and update SSN */
+ desc.starting_seq_nr := bsn + 1;
+ desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - 1] := int2bit(1, 1);
+
+ /* Finally update the final_ack bit as requested: */
+ desc.final_ack := final_ack;
+}
+
/* Test scenario where MS wants to send some data on PDCH against SGSN and it is
* answered, so TBFs for uplink and later for downlink are created.
*/
@@ -1380,10 +1418,7 @@
var OCT4 tlli := '00000001'O;
var AckNackDescription ack_nack_desc;
- ack_nack_desc.final_ack := '0'B;
- ack_nack_desc.starting_seq_nr := 0;
- ack_nack_desc.receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B;
-
+ f_acknackdesc_init(ack_nack_desc);
/* Initialize NS/BSSGP side */
f_init_bssgp();
@@ -1428,9 +1463,10 @@
/* Wait timer X2002 and DL block is available after CCCH IMM ASS: */
f_sleep(X2002);
- f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data);
+ f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0);
/* ACK the DL block */
+ f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B)
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);
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16502
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: Ic62ab9e4a854239b95c434068543d95c5352f1c6
Gerrit-Change-Number: 16502
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/9d42158d/attachment.htm>