diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-05-20 18:27:10 +0200 |
---|---|---|
committer | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2020-05-28 22:13:10 +0700 |
commit | 6791eb6b936ab0267370b9ae76c4f374dcddf61b (patch) | |
tree | 3680f394ef991cede5071ccf910dfe08843049f2 | |
parent | 9040111df2bd2ef05c719e50fa94361e4018707b (diff) |
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
-rw-r--r-- | library/RLCMAC_CSN1_Templates.ttcn | 4 | ||||
-rw-r--r-- | library/RLCMAC_Templates.ttcn | 17 | ||||
-rw-r--r-- | pcu/PCU_Tests.ttcn | 8 |
3 files changed, 23 insertions, 6 deletions
diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn index eebda7f1..9f53c3f3 100644 --- a/library/RLCMAC_CSN1_Templates.ttcn +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -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 } diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index e2abd84a..939a814f 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -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) := { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 8b9a4715..4a26814e 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -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 */ |