Change in osmo-ttcn3-hacks[master]: library/RSL_Types: fix CHAN ACT templates for dynamic timeslots

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.org
Mon Dec 20 14:55:00 UTC 2021


laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/26194 )

Change subject: library/RSL_Types: fix CHAN ACT templates for dynamic timeslots
......................................................................

library/RSL_Types: fix CHAN ACT templates for dynamic timeslots

* t_RSL_IE_ActType_PDCH is actually a constant, not a template.
* tr_RSL_CHAN_ACT_PDCH makes no use of parameter 'mode'.
* Accomplish tr_RSL_CHAN_ACT_PDCH with a send template.
* Use 'present' qualifier for receive template parameters.

Change-Id: Ie62a92daaacf4de5f05dd1f3f5b4a2a5e4ee6dd6
---
M bsc/BSC_Tests.ttcn
M library/RSL_Types.ttcn
2 files changed, 31 insertions(+), 19 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve
  Jenkins Builder: Verified



diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 0c71581..5276ed9 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -7374,7 +7374,7 @@
 	log("TCH/F_TCH/H_PDCH pchan starts out in disabled mode:");
 	f_ts_dyn_mode_assert(0, 0, chan_nr.tn, NONE_MODE);
 	/* The BSC will activate the dynamic PDCH by default, so confirm that */
-	rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr, ?));
+	rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr));
 
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 2342));
 	f_sleep(1.0);
@@ -7403,7 +7403,7 @@
 
 	f_ts_dyn_mode_assert(0, 0, chan_nr.tn, NONE_MODE);
 	/* The BSC will activate the dynamic PDCH by default, so confirm that */
-	rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr, ?));
+	rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr));
 
 	/* NACK this activation and expect the "show timeslot" mode still to be NONE */
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_NACK(chan_nr, RSL_ERR_EQUIPMENT_FAIL));
@@ -7435,7 +7435,7 @@
 	log("TCH/F_TCH/H_SDCCH8_PDCH pchan starts out in disabled mode:");
 	f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, NONE_MODE);
 	/* The BSC will activate the dynamic PDCH by default, so confirm that */
-	rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?));
+	rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr));
 
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342));
 	f_sleep(1.0);
@@ -7473,7 +7473,7 @@
 	f_exp_chan_rel_and_clear(dt, 0);
 
 	/* The BSC will switch the TS back to PDCH once the only lchan using it is released: */
-	rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?));
+	rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr));
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342));
 	f_sleep(1.0);
 	f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, PDCH_MODE);
@@ -7505,7 +7505,7 @@
 	/* The dyn TS want to activate PDCH mode, ACK that. */
 	var RslChannelNr chan_nr;
 	chan_nr := valueof(t_RslChanNr_PDCH(2));
-	f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr, ?));
+	f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr));
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 2342));
 
 	f_sleep(1.0);
@@ -7559,7 +7559,7 @@
 	log("TCH/F_TCH/H_SDCCH8_PDCH pchan starts out in disabled mode:");
 	f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, NONE_MODE);
 	/* The BSC will activate the dynamic PDCH by default, so confirm that */
-	rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?));
+	rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr));
 
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342));
 	f_sleep(1.0);
@@ -7597,7 +7597,7 @@
 	f_exp_chan_rel_and_clear(dt, 0);
 
 	/* The BSC will switch the TS back to PDCH once the only lchan using it is released: */
-	rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?));
+	rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr));
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342));
 	f_sleep(1.0);
 	f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, PDCH_MODE);
@@ -7629,7 +7629,7 @@
 	log("TCH/F_TCH/H_SDCCH8_PDCH pchan starts out in disabled mode:");
 	f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, NONE_MODE);
 	/* The BSC will activate the dynamic PDCH by default, so confirm that */
-	rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?));
+	rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr));
 
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342));
 	f_sleep(1.0);
@@ -7662,7 +7662,7 @@
 	/* FIXME? Currently the TS stays in state BORKEN: */
 
 	/* The BSC will switch the TS back to PDCH once the only lchan using it is released: */
-	/* rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?));
+	/* rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr));
 	 * f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342));
 	 * f_sleep(1.0);
 	 * f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, PDCH_MODE)
@@ -10319,7 +10319,7 @@
 
 	var RslChannelNr chan_nr := valueof(t_RslChanNr_PDCH(6));
 	/* The BSC will activate the dynamic PDCH by default, so confirm that */
-	f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr, ?));
+	f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr));
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 2323));
 
 	/* clean up timeslot 6 config, will only take effect when the OML drops the next time */
@@ -10391,7 +10391,7 @@
 
 	var RslChannelNr chan_nr := valueof(t_RslChanNr_PDCH(6));
 	/* The BSC will activate the dynamic PDCH by default, so confirm that */
-	f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr, ?));
+	f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr));
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 2323));
 
 	/* clean up timeslot 6 config, will only take effect when the OML drops the next time */
@@ -10723,7 +10723,7 @@
 	/* The dyn TS wants to activate PDCH mode, ACK that. */
 	var RslChannelNr chan_nr;
 	chan_nr := valueof(t_RslChanNr_PDCH(2));
-	f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr, ?));
+	f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr));
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 2342));
 
 	/* Exhaust all dedicated SDCCH lchans.
@@ -10781,7 +10781,7 @@
 
 	/* All SDCCH on the dyn TS are released, the dyn TS wants to activate PDCH again */
 	chan_nr := valueof(t_RslChanNr_PDCH(2));
-	f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr, ?));
+	f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr));
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 2342));
 
 	/* Now all channels are occupied except the dyn TS, so expecting only the static counters to increment */
diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index 70fb398..ccd43e6 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -318,7 +318,7 @@
 	}
 
 	/* osmocom-style dynamic PDCH */
-	const RSL_IE_ActivationType t_RSL_IE_ActType_PDCH := {
+	const RSL_IE_ActivationType c_RSL_IE_ActType_PDCH := {
 		reactivation := false,
 		reserved := 1,
 		a_bits := ACT_REL_TO_OSMO_PDCH
@@ -1400,13 +1400,23 @@
 			*
 		}
 	}
-	template RSL_Message tr_RSL_CHAN_ACT_PDCH(template RslChannelNr chan_nr,
-						  template RSL_IE_ChannelMode mode) := {
+
+	template (value) RSL_Message
+	ts_RSL_CHAN_ACT_PDCH(template (value) RslChannelNr chan_nr) := {
+		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
+		msg_type := RSL_MT_CHAN_ACTIV,
+		ies :={
+			t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
+			t_RSL_IE(RSL_IE_ACT_TYPE, RSL_IE_Body:{act_type := c_RSL_IE_ActType_PDCH})
+		}
+	}
+	template RSL_Message
+	tr_RSL_CHAN_ACT_PDCH(template (present) RslChannelNr chan_nr) := {
 		msg_disc := tr_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
 		msg_type := RSL_MT_CHAN_ACTIV,
 		ies :={
 			tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
-			tr_RSL_IE(RSL_IE_Body:{act_type := t_RSL_IE_ActType_PDCH}),
+			tr_RSL_IE(RSL_IE_Body:{act_type := c_RSL_IE_ActType_PDCH}),
 			/* lots of optional IEs */
 			*
 		}
@@ -2320,14 +2330,16 @@
 	}
 
 
-	template (value) RSL_Message ts_RSL_IPA_PDCH_ACT(RslChannelNr chan_nr) := {
+	template (value) RSL_Message
+	ts_RSL_IPA_PDCH_ACT(template (value) RslChannelNr chan_nr) := {
 		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
 		msg_type := RSL_MT_IPAC_PDCH_ACT,
 		ies := {
 			t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr})
 		}
 	}
-	template RSL_Message tr_RSL_IPA_PDCH_ACT(template RslChannelNr chan_nr) := {
+	template RSL_Message
+	tr_RSL_IPA_PDCH_ACT(template (present) RslChannelNr chan_nr) := {
 		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
 		msg_type := RSL_MT_IPAC_PDCH_ACT,
 		ies := {

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/26194
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: Ie62a92daaacf4de5f05dd1f3f5b4a2a5e4ee6dd6
Gerrit-Change-Number: 26194
Gerrit-PatchSet: 4
Gerrit-Owner: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20211220/4a4c80ab/attachment.htm>


More information about the gerrit-log mailing list