pcu: Properly pass tlli in f_tx_rlcmac_ul_n_blocks()
Change-Id: Idb8febbbff732f02d05b0043c75e2a0729e01d4f
This commit is contained in:
parent
b58d974ea5
commit
4aac3d0c8f
|
@ -503,7 +503,7 @@ runs on RAW_PCU_Test_CT {
|
||||||
f_pcuif_tx_data_ind(data, lqual_cb, fn);
|
f_pcuif_tx_data_ind(data, lqual_cb, fn);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function f_tx_rlcmac_ul_n_blocks(PacketUlAssign ul_tbf_ass, integer num_blocks := 1)
|
private function f_tx_rlcmac_ul_n_blocks(PacketUlAssign ul_tbf_ass, integer num_blocks := 1, template (omit) GprsTlli tlli := omit)
|
||||||
runs on RAW_PCU_Test_CT {
|
runs on RAW_PCU_Test_CT {
|
||||||
var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA(
|
var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA(
|
||||||
tfi := ul_tbf_ass.dynamic.tfi_assignment,
|
tfi := ul_tbf_ass.dynamic.tfi_assignment,
|
||||||
|
@ -511,8 +511,10 @@ runs on RAW_PCU_Test_CT {
|
||||||
bsn := 0, /* TODO: what should be here? */
|
bsn := 0, /* TODO: what should be here? */
|
||||||
blocks := { /* To be generated in loop */ });
|
blocks := { /* To be generated in loop */ });
|
||||||
|
|
||||||
/* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */
|
if (not istemplatekind(tlli, "omit")) {
|
||||||
ul_data.data.tlli := '00000001'O;
|
ul_data.data.mac_hdr.tlli_ind := true;
|
||||||
|
ul_data.data.tlli := tlli;
|
||||||
|
}
|
||||||
|
|
||||||
for (var integer i := 0; i < num_blocks; i := i + 1) {
|
for (var integer i := 0; i < num_blocks; i := i + 1) {
|
||||||
/* Prepare a new UL block (CV, random payload) */
|
/* Prepare a new UL block (CV, random payload) */
|
||||||
|
@ -1295,8 +1297,9 @@ testcase TC_t3169() runs on RAW_PCU_Test_CT {
|
||||||
/* Make sure we've got an Uplink TBF assignment */
|
/* Make sure we've got an Uplink TBF assignment */
|
||||||
f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass);
|
f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass);
|
||||||
|
|
||||||
/* Send one UL block and make sure it is ACKED fine */
|
/* Send one UL block (with TLLI since we are in One-Phase Access
|
||||||
f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1);
|
contention resoultion) and make sure it is ACKED fine */
|
||||||
|
f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli);
|
||||||
f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn);
|
f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn);
|
||||||
/* UL block should be received in SGSN */
|
/* UL block should be received in SGSN */
|
||||||
BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id));
|
BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id));
|
||||||
|
@ -1417,8 +1420,9 @@ private function f_TC_mo_ping_pong(template (omit) MSRadioAccessCapabilityV ms_r
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Send one UL block and make sure it is ACKED fine */
|
/* Send one UL block (with TLLI since we are in One-Phase Access
|
||||||
f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1);
|
contention resoultion) and make sure it is ACKED fine */
|
||||||
|
f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli);
|
||||||
f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn);
|
f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn);
|
||||||
/* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */
|
/* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */
|
||||||
f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn);
|
f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn);
|
||||||
|
@ -1517,8 +1521,9 @@ private function f_TC_mt_ping_pong(template (omit) MSRadioAccessCapabilityV_BSSG
|
||||||
/* Make sure we've got an Uplink TBF assignment */
|
/* Make sure we've got an Uplink TBF assignment */
|
||||||
f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass);
|
f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass);
|
||||||
|
|
||||||
/* Send one UL block and make sure it is ACKED fine */
|
/* Send one UL block (with TLLI since we are in One-Phase Access
|
||||||
f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1);
|
contention resoultion) and make sure it is ACKED fine */
|
||||||
|
f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli);
|
||||||
f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn);
|
f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn);
|
||||||
/* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */
|
/* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */
|
||||||
f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn);
|
f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn);
|
||||||
|
|
Loading…
Reference in New Issue