Skip to content
Unstable

Changes

Summary

  1. pcu: Fix wrong BSN uint size (details)
  2. pcu: Fix TC_dl_cs1_to_cs4 sporadic fail (details)
  3. pcu: Fix dummy DL block received due to timer race conditions (details)
Commit 74a5957494a5db5d835c0db717c47fed0e9c75b1 by Pau Espin Pedrol
pcu: Fix wrong BSN uint size

3GPP TS 44.060 9.1.4.2, BSN is 11 bit long.

Change-Id: Id1ef8b58dc61ab91de2c781a2fd1e8da5eba83a7
The file was modifiedpcu/GPRS_Components.ttcn
Commit 542ab1797b57aa7a5361b5ea5da06d6290c7528f by Pau Espin Pedrol
pcu: Fix TC_dl_cs1_to_cs4 sporadic fail

The test TC_dl_cs1_to_cs4 failed sporadically in ttcn3-pcu-test-asan.
Due to how the DL data arriving at Gb is split in chunks over RLC/MAC
(also based on how CS changes over time), it may happen that the full
PDU content doesn't finish at the exact block number where PCU expects
the DL ACK/NACK. As a result, since PCU delays finishing the DL TBF and
some data for that DL TBF has already not been ACKed (and since there's
no more active DL TBFs), it will decide to retransmit some of the
RLC/MAC blocks which haven't been yet ACKed, instead of transmitting
nothing.
This is an optimization to increase the probabilities the MS has
received all the data.
We need to account for this possibility in f_dl_data_exp_cs(), used in
the mentioned test. In there, it needs to be checked whether the
received DL data block is a retransmission, and use that knowledge to
resolve that all data has been transmitted and hence the final condition
can be checked.

Change-Id: I7fb40689547645adf1d54f43c263161be1d7a440
The file was modifiedpcu/PCU_Tests.ttcn
The file was modifiedpcu/GPRS_Components.ttcn
Commit 7c66363f06a2131ee96bbb39a02a40f86f07db95 by Pau Espin Pedrol
pcu: Fix dummy DL block received due to timer race conditions

Timer X2002, which manages delay at PCU between sending DL TBF Ass over
CCCH and start transmitting for it over PDCH, is clock-time based.
As a result, timer at PCU process and ttcn3 process may time out
slightly differently. Hence, it can happen that we request a DL block
immediatelly *before* the timer triggers at the PCU. In that scenario,
PCU transmits a dummy block instead of a data block.
Account for this race condition in several tests; some tests already
used this formula.

Change-Id: Ic2bb953483cd1f678cbe32c7a94e177f79ecb4e4
The file was modifiedpcu/PCU_Tests.ttcn