pcu: TC_mt_ping_pong: Request UL TBF on last DL ACK

Let's test the code path where UL TBF is requested through DL ACK/NACK
here, since we already test the usual UL TBF through CCCH approach in
most tests.

rlc_mode is changed to ACKED since that's the mode we are using so far
in tests.

Change-Id: I5a9a2e8107c87fdbf74cc2f09ae5eeafbb13ad55
This commit is contained in:
Pau Espin 2020-05-20 18:27:10 +02:00 committed by Vadim Yanitskiy
parent 9040111df2
commit 6791eb6b93
3 changed files with 23 additions and 6 deletions

View File

@ -123,10 +123,10 @@ module RLCMAC_CSN1_Templates {
return ms_rac2;
}
private const ChannelReqDescription c_ChReqDesc_default := {
const ChannelReqDescription c_ChReqDesc_default := {
peak_tput_class := 0,
priority := 0,
rlc_mode := RLC_MODE_UNACKNOWLEDGED,
rlc_mode := RLC_MODE_ACKNOWLEDGED,
llc_pdu_type := LLC_PDU_IS_NOT_SACK_OR_ACK,
RlcOctetCount := 0
}

View File

@ -329,6 +329,23 @@ module RLCMAC_Templates {
}
}
template RlcmacUlBlock ts_RLCMAC_DL_ACK_NACK_CHREQ(template uint5_t tfi,
AckNackDescription andesc,
boolean retry := false,
template ChannelReqDescription chreq_desc := c_ChReqDesc_default)
modifies ts_RLCMAC_DL_ACK_NACK := {
ctrl := {
payload := {
u := {
dl_ack_nack := {
chreq_desc_presence := '1'B,
chreq_desc := chreq_desc
}
}
}
}
}
/* Template for uplink Data block */
template RlcmacUlBlock t_RLCMAC_UL_DATA(template uint5_t tfi, template uint4_t cv, template uint7_t bsn,
template LlcBlocks blocks := {}, template boolean stall := false) := {

View File

@ -1096,13 +1096,13 @@ private function f_TC_mt_ping_pong(template (omit) MSRadioAccessCapabilityV_BSSG
f_sleep(X2002);
f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs);
/* ACK the DL block */
/* ACK the DL block, and request UL TBF at the same time */
f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B);
f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc),
f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK_CHREQ(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc),
f_dl_block_ack_fn(dl_block, dl_fn));
/* Now MS wants to answer the DL data, Establish an Uplink TBF */
f_ms_establish_ul_tbf(ms);
/* Expect UL ass */
f_ms_rx_imm_ass_pacch(ms, sched_fn, tr_RLCMAC_UL_PACKET_ASS);
/* Send one UL block (with TLLI since we are in One-Phase Access
contention resoultion) and make sure it is ACKED fine */