pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks

Also increment BSN with each new submitted packet.

Change-Id: I685d1535154197bb85e18875e0a4d41122a24fa0
This commit is contained in:
Pau Espin 2020-05-14 16:44:18 +02:00 committed by laforge
parent 0c0bf8731b
commit 5feace6584
1 changed files with 11 additions and 3 deletions

View File

@ -136,6 +136,9 @@ type component RAW_PCU_Test_CT extends bssgp_CT {
var uint8_t g_mcs_max_dl := 9;
var uint8_t g_mcs_max_ul := 9;
/* Value at which Countdown Procedure starts. Announced by network (GPRS Cell Options as per TS 04.60 Chapter 12.24) */
var uint4_t g_bs_cv_max := 4;
var boolean g_egprs_only := false;
var boolean g_force_two_phase_access := false;
@ -533,8 +536,8 @@ private function f_tx_rlcmac_ul_n_blocks(uint5_t tfi, integer num_blocks := 1, t
runs on RAW_PCU_Test_CT {
var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA(
tfi := tfi,
cv := num_blocks - 1, /* num UL blocks to be sent (to be overridden in loop) */
bsn := 0, /* TODO: what should be here? */
cv := 15, /* num UL blocks to be sent (to be overridden in loop) */
bsn := 0, /* TODO: what should be initial value? */
blocks := { /* To be generated in loop */ });
if (not istemplatekind(tlli, "omit")) {
@ -544,7 +547,12 @@ runs on RAW_PCU_Test_CT {
for (var integer i := 0; i < num_blocks; i := i + 1) {
/* Prepare a new UL block (CV, random payload) */
ul_data.data.mac_hdr.countdown := (num_blocks - i - 1);
var integer cv := num_blocks - i - 1;
if (cv > g_bs_cv_max) {
cv := 15;
}
ul_data.data.mac_hdr.countdown := cv;
ul_data.data.mac_hdr.bsn := i;
ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) };
f_tx_rlcmac_ul_block(ul_data);
}