This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
laforge gerrit-no-reply at lists.osmocom.orglaforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21128 ) Change subject: pcu: Introduce test TC_mcs_max_dl ...................................................................... pcu: Introduce test TC_mcs_max_dl Change-Id: If6c58cc18b537c4a1354f1b8263db8321347fbd7 --- M pcu/PCU_Tests.ttcn 1 file changed, 53 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 834498a..67a811d 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -868,14 +868,25 @@ } /* Verify scheduling of multiple Downlink data blocks, enough to reach CS4 */ -function f_dl_data_exp_cs(template CodingScheme exp_cs := ?) runs on RAW_PCU_Test_CT { - var octetstring data := f_rnd_octstring(1000); +function f_dl_data_exp_cs(template CodingScheme exp_final_cs := ?, template MSRadioAccessCapabilityV_BSSGP ms_racap := omit) runs on RAW_PCU_Test_CT { + var octetstring data := f_rnd_octstring(1400); var RlcmacDlBlock prev_dl_block, dl_block; var uint32_t ack_fn; var uint32_t fn; var GprsMS ms; - var integer tx_data_remain := 5; + var integer tx_data_remain := 10; var integer bsn := 0; + var boolean using_egprs := f_rlcmac_cs_mcs_is_mcs(valueof(exp_final_cs)); + var integer bsn_mod; + var template CodingScheme exp_tmp_csmcs; + + if (using_egprs) { + exp_tmp_csmcs := mcs_egprs_any; + bsn_mod := 2048; + } else { + exp_tmp_csmcs := cs_gprs_any; + bsn_mod := 128; + } /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); @@ -884,14 +895,14 @@ f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data, ms_racap)); f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); /* Wait timer X2002 and DL block is available after CCCH IMM ASS */ f_sleep(X2002); - for (var integer i := 0; i < 250; i := i + 1) { - bsn := i mod 128; + for (var integer i := 0; i < 800; i := i + 1) { + bsn := i mod bsn_mod; f_rx_rlcmac_dl_block(dl_block, fn); if (match(dl_block, tr_RLCMAC_DUMMY_CTRL)) { @@ -899,15 +910,15 @@ break; } - f_rlcmac_dl_block_exp_data(dl_block, ?, bsn, cs_gprs_any); + f_rlcmac_dl_block_exp_data(dl_block, ?, bsn, exp_tmp_csmcs); /* Keep Ack/Nack description updated */ - f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block); + f_dltbf_ack_block(ms.dl_tbf, dl_block); /* TDMA frame number on which we are supposed to send the ACK */ - if (dl_block.data.mac_hdr.mac_hdr.rrbp_valid) { + if (f_dl_block_rrbp_valid(dl_block)) { ack_fn := f_dl_block_ack_fn(dl_block, fn); - f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), ack_fn); + f_ms_tx_ul_block(ms, f_dltbf_ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf, using_egprs), ack_fn); if (tx_data_remain != 0) { /* Submit more data from time to time to keep the TBF ongoing */ BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); @@ -917,8 +928,8 @@ prev_dl_block := dl_block; } - bsn := (bsn + 127) mod 128; /* previous bsn: bsn -1 */ - f_rlcmac_dl_block_exp_data(prev_dl_block, ?, bsn, exp_cs); + bsn := (bsn + (bsn_mod-1)) mod bsn_mod; /* previous bsn: bsn -1 */ + f_rlcmac_dl_block_exp_data(prev_dl_block, ?, bsn, exp_final_cs); f_shutdown(__BFILE__, __LINE__, final := true); @@ -1150,6 +1161,35 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Verify DL MCS above "mcs max" set by VTY is never used */ +testcase TC_mcs_max_dl() runs on RAW_PCU_Test_CT { + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Set maximum allowed DL CS to 3 */ + g_mcs_initial_dl := 1; + g_mcs_max_dl := 3; + f_pcuvty_set_allowed_cs_mcs(); + f_pcuvty_set_link_quality_ranges(); + + var MultislotCap_GPRS_BSSGP mscap_gprs := { + gprsmultislotclass := '00011'B, + gprsextendeddynalloccap := '0'B + }; + var MultislotCap_EGPRS_BSSGP mscap_egprs := { + egprsmultislotclass := '00011'B, + egprsextendeddynalloccap := '0'B + }; + var MSRadioAccessCapabilityV_BSSGP ms_racap := { valueof(ts_RaCapRec_BSSGP('0001'B /* E-GSM */, mscap_gprs, mscap_egprs)) }; + + f_dl_data_exp_cs(f_rlcmac_block_int2cs_mcs(g_mcs_max_dl, true), ms_racap); +} + /* Verify PCU drops TBF after some time of inactivity. */ testcase TC_t3169() runs on RAW_PCU_Test_CT { var PCUIF_info_ind info_ind; @@ -3392,6 +3432,7 @@ execute( TC_mcs_initial_ul() ); execute( TC_mcs_max_ul() ); execute( TC_mcs_initial_dl() ); + execute( TC_mcs_max_dl() ); execute( TC_t3169() ); execute( TC_t3193() ); execute( TC_countdown_procedure() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6c58cc18b537c4a1354f1b8263db8321347fbd7 Gerrit-Change-Number: 21128 Gerrit-PatchSet: 6 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de> Gerrit-Reviewer: laforge <laforge at osmocom.org> Gerrit-Reviewer: lynxis lazus <lynxis at fe80.eu> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201201/1ef816b0/attachment.htm>