aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2020-05-20 18:27:10 +0200
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2020-05-28 22:13:10 +0700
commit6791eb6b936ab0267370b9ae76c4f374dcddf61b (patch)
tree3680f394ef991cede5071ccf910dfe08843049f2
parent9040111df2bd2ef05c719e50fa94361e4018707b (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.ttcn4
-rw-r--r--library/RLCMAC_Templates.ttcn17
-rw-r--r--pcu/PCU_Tests.ttcn8
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 */