<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">pcu: Allow tests to overwrite pcuif INFO_IND params<br><br>Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6<br>---<br>M library/PCUIF_Types.ttcn<br>M pcu/PCU_Tests_RAW.ttcn<br>2 files changed, 60 insertions(+), 98 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/15674/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn</span><br><span>index a36e261..ae0762a 100644</span><br><span>--- a/library/PCUIF_Types.ttcn</span><br><span>+++ b/library/PCUIF_Types.ttcn</span><br><span>@@ -677,62 +677,13 @@</span><br><span> ts_PCUIF_InfoTrx, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL,</span><br><span> ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> template (value) PCUIF_Message ts_PCUIF_INFO_IND(template (value) uint8_t bts_nr,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) uint16_t nsei,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) uint16_t nsvci,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) uint16_t bvci,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) uint16_t local_port,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) uint16_t remote_port,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) OCT4 remote_ip,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) PCUIF_Flags flags := c_PCUIF_Flags_default,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) uint16_t mcc := 262,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) uint16_t mnc := 42,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) uint16_t lac := 13135,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) uint8_t rac := 0,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) uint16_t cell_id := 20960,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) uint8_t bsic := 7,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) PCUIF_InfoTrxs trx := ts_PCUIF_InfoTrxs_def,</span><br><span style="color: hsl(0, 100%, 40%);">- template (value) uint32_t version := PCU_IF_VERSION) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) PCUIF_info_ind info_ind) := {</span><br><span> msg_type := PCU_IF_MSG_INFO_IND,</span><br><span> bts_nr := bts_nr,</span><br><span> spare := '0000'O,</span><br><span> u := {</span><br><span style="color: hsl(0, 100%, 40%);">- info_ind := {</span><br><span style="color: hsl(0, 100%, 40%);">- version := version,</span><br><span style="color: hsl(0, 100%, 40%);">- flags := flags,</span><br><span style="color: hsl(0, 100%, 40%);">- trx := trx,</span><br><span style="color: hsl(0, 100%, 40%);">- bsic := bsic,</span><br><span style="color: hsl(0, 100%, 40%);">- mcc := mcc,</span><br><span style="color: hsl(0, 100%, 40%);">- mnc := mnc,</span><br><span style="color: hsl(0, 100%, 40%);">- mnc_3_digits := 0,</span><br><span style="color: hsl(0, 100%, 40%);">- lac := lac,</span><br><span style="color: hsl(0, 100%, 40%);">- rac := rac,</span><br><span style="color: hsl(0, 100%, 40%);">- nsei := nsei,</span><br><span style="color: hsl(0, 100%, 40%);">- nse_timer := { 3, 3, 3, 3, 30, 3, 10 },</span><br><span style="color: hsl(0, 100%, 40%);">- cell_timer := { 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 },</span><br><span style="color: hsl(0, 100%, 40%);">- cell_id := cell_id,</span><br><span style="color: hsl(0, 100%, 40%);">- repeat_time := 5 * 50,</span><br><span style="color: hsl(0, 100%, 40%);">- repeat_count := 3,</span><br><span style="color: hsl(0, 100%, 40%);">- bvci := bvci,</span><br><span style="color: hsl(0, 100%, 40%);">- t3142 := 20,</span><br><span style="color: hsl(0, 100%, 40%);">- t3169 := 5,</span><br><span style="color: hsl(0, 100%, 40%);">- t3191 := 5,</span><br><span style="color: hsl(0, 100%, 40%);">- t3193_10ms := 160,</span><br><span style="color: hsl(0, 100%, 40%);">- t3195 := 5,</span><br><span style="color: hsl(0, 100%, 40%);">- t3101 := 10,</span><br><span style="color: hsl(0, 100%, 40%);">- t3103 := 4,</span><br><span style="color: hsl(0, 100%, 40%);">- t3105 := 8,</span><br><span style="color: hsl(0, 100%, 40%);">- cv_countdown := 15,</span><br><span style="color: hsl(0, 100%, 40%);">- dl_tbf_ext := 250 * 10, /* ms */</span><br><span style="color: hsl(0, 100%, 40%);">- ul_tbf_ext := 250 * 10, /* ms */</span><br><span style="color: hsl(0, 100%, 40%);">- initial_cs := 2,</span><br><span style="color: hsl(0, 100%, 40%);">- initial_mcs := 6,</span><br><span style="color: hsl(0, 100%, 40%);">- nsvci := { nsvci, 0 },</span><br><span style="color: hsl(0, 100%, 40%);">- local_pprt := { local_port, 0 },</span><br><span style="color: hsl(0, 100%, 40%);">- remote_port := { remote_port, 0 },</span><br><span style="color: hsl(0, 100%, 40%);">- remote_ip := { remote_ip , '00000000'O }</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(120, 100%, 40%);">+ info_ind := info_ind</span><br><span> }</span><br><span> }</span><br><span> template PCUIF_Message tr_PCUIF_INFO_IND(template uint8_t bts_nr := ?,</span><br><span>diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn</span><br><span>index 4a8d8b6..a464562 100644</span><br><span>--- a/pcu/PCU_Tests_RAW.ttcn</span><br><span>+++ b/pcu/PCU_Tests_RAW.ttcn</span><br><span>@@ -69,9 +69,58 @@</span><br><span> }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-function f_init_pcuif() runs on RAW_PCU_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+function f_default_pcuif_info_ind() return PCUIF_info_ind</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ var PCUIF_info_ind info_ind;</span><br><span style="color: hsl(120, 100%, 40%);">+ info_ind := {</span><br><span style="color: hsl(120, 100%, 40%);">+ version := PCU_IF_VERSION,</span><br><span style="color: hsl(120, 100%, 40%);">+ flags := c_PCUIF_Flags_default,</span><br><span style="color: hsl(120, 100%, 40%);">+ trx := valueof(ts_PCUIF_InfoTrxs_def),</span><br><span style="color: hsl(120, 100%, 40%);">+ bsic := 7,</span><br><span style="color: hsl(120, 100%, 40%);">+ mcc := 262,</span><br><span style="color: hsl(120, 100%, 40%);">+ mnc := 42,</span><br><span style="color: hsl(120, 100%, 40%);">+ mnc_3_digits := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ lac := 13135,</span><br><span style="color: hsl(120, 100%, 40%);">+ rac := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ nsei := mp_nsconfig.nsei,</span><br><span style="color: hsl(120, 100%, 40%);">+ nse_timer := { 3, 3, 3, 3, 30, 3, 10 },</span><br><span style="color: hsl(120, 100%, 40%);">+ cell_timer := { 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 },</span><br><span style="color: hsl(120, 100%, 40%);">+ cell_id := 20960,</span><br><span style="color: hsl(120, 100%, 40%);">+ repeat_time := 5 * 50,</span><br><span style="color: hsl(120, 100%, 40%);">+ repeat_count := 3,</span><br><span style="color: hsl(120, 100%, 40%);">+ bvci := mp_gb_cfg.bvci,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3142 := 20,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3169 := 5,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3191 := 5,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3193_10ms := 160,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3195 := 5,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3101 := 10,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3103 := 4,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3105 := 8,</span><br><span style="color: hsl(120, 100%, 40%);">+ cv_countdown := 15,</span><br><span style="color: hsl(120, 100%, 40%);">+ dl_tbf_ext := 250 * 10, /* ms */</span><br><span style="color: hsl(120, 100%, 40%);">+ ul_tbf_ext := 250 * 10, /* ms */</span><br><span style="color: hsl(120, 100%, 40%);">+ initial_cs := 2,</span><br><span style="color: hsl(120, 100%, 40%);">+ initial_mcs := 6,</span><br><span style="color: hsl(120, 100%, 40%);">+ nsvci := { mp_nsconfig.nsvci, 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+ local_pprt := { mp_nsconfig.remote_udp_port, 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+ remote_port := { mp_nsconfig.local_udp_port, 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+ remote_ip := { f_inet_haddr(mp_nsconfig.local_ip) , '00000000'O }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ return info_ind;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+function f_init_pcuif(template (omit) PCUIF_info_ind info_ind_tpl := omit) runs on RAW_PCU_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+ var PCUIF_info_ind info_ind;</span><br><span> map(self:PCU, system:PCU);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ if (istemplatekind(info_ind_tpl, "omit")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ info_ind := f_default_pcuif_info_ind();</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ info_ind := valueof(info_ind_tpl);</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Connect the Unix Domain Socket */</span><br><span> g_pcu_conn_id := f_pcuif_listen(PCU, mp_pcu_sock_path);</span><br><span> PCU.receive(UD_connected:?);</span><br><span>@@ -79,15 +128,8 @@</span><br><span> /* Wait for PCU_VERSION and return INFO_IND */</span><br><span> PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_TXT_IND(0, PCU_VERSION, ?)));</span><br><span> /* FIXME: make sure to use parameters from mp_gb_cfg.cell_id in the PCU INFO IND */</span><br><span style="color: hsl(0, 100%, 40%);">- var template PCUIF_Message info_ind := ts_PCUIF_INFO_IND(bts_nr := 0,</span><br><span style="color: hsl(0, 100%, 40%);">- nsei := mp_nsconfig.nsei,</span><br><span style="color: hsl(0, 100%, 40%);">- nsvci := mp_nsconfig.nsvci,</span><br><span style="color: hsl(0, 100%, 40%);">- bvci := mp_gb_cfg.bvci,</span><br><span style="color: hsl(0, 100%, 40%);">- local_port := mp_nsconfig.remote_udp_port,</span><br><span style="color: hsl(0, 100%, 40%);">- remote_port := mp_nsconfig.local_udp_port,</span><br><span style="color: hsl(0, 100%, 40%);">- remote_ip := f_inet_haddr(mp_nsconfig.local_ip)</span><br><span style="color: hsl(0, 100%, 40%);">- );</span><br><span style="color: hsl(0, 100%, 40%);">- PCU.send(t_SD_PCUIF(g_pcu_conn_id, info_ind));</span><br><span style="color: hsl(120, 100%, 40%);">+ var template PCUIF_Message info_ind_msg := ts_PCUIF_INFO_IND(0, info_ind);</span><br><span style="color: hsl(120, 100%, 40%);">+ PCU.send(t_SD_PCUIF(g_pcu_conn_id, info_ind_msg));</span><br><span> }</span><br><span> </span><br><span> function f_pcuif_tx(template (value) PCUIF_Message msg) runs on RAW_PCU_CT {</span><br><span>@@ -439,7 +481,7 @@</span><br><span> }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-private function f_init_raw(charstring id)</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_init_raw(charstring id, template (omit) PCUIF_info_ind info_ind_tpl := omit)</span><br><span> runs on RAW_PCU_Test_CT {</span><br><span> var PCUIF_info_ind info_ind;</span><br><span> var RAW_PCUIF_CT vc_PCUIF;</span><br><span>@@ -459,42 +501,11 @@</span><br><span> connect(vc_BTS:PCUIF, vc_PCUIF:BTS);</span><br><span> connect(vc_BTS:TC, self:BTS);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* FIXME: make sure to use parameters from mp_gb_cfg.cell_id in the PCU INFO IND */</span><br><span style="color: hsl(0, 100%, 40%);">- info_ind := {</span><br><span style="color: hsl(0, 100%, 40%);">- version := PCU_IF_VERSION,</span><br><span style="color: hsl(0, 100%, 40%);">- flags := c_PCUIF_Flags_default,</span><br><span style="color: hsl(0, 100%, 40%);">- trx := valueof(ts_PCUIF_InfoTrxs_def),</span><br><span style="color: hsl(0, 100%, 40%);">- /* TODO: make this configurable */</span><br><span style="color: hsl(0, 100%, 40%);">- bsic := 7, mcc := 262, mnc := 42,</span><br><span style="color: hsl(0, 100%, 40%);">- mnc_3_digits := 0,</span><br><span style="color: hsl(0, 100%, 40%);">- /* TODO: make this configurable */</span><br><span style="color: hsl(0, 100%, 40%);">- lac := 13135, rac := 0,</span><br><span style="color: hsl(0, 100%, 40%);">- nsei := mp_nsconfig.nsei,</span><br><span style="color: hsl(0, 100%, 40%);">- nse_timer := { 3, 3, 3, 3, 30, 3, 10 },</span><br><span style="color: hsl(0, 100%, 40%);">- cell_timer := { 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 },</span><br><span style="color: hsl(0, 100%, 40%);">- cell_id := 20960,</span><br><span style="color: hsl(0, 100%, 40%);">- repeat_time := 5 * 50,</span><br><span style="color: hsl(0, 100%, 40%);">- repeat_count := 3,</span><br><span style="color: hsl(0, 100%, 40%);">- bvci := mp_gb_cfg.bvci,</span><br><span style="color: hsl(0, 100%, 40%);">- t3142 := 20,</span><br><span style="color: hsl(0, 100%, 40%);">- t3169 := 5,</span><br><span style="color: hsl(0, 100%, 40%);">- t3191 := 5,</span><br><span style="color: hsl(0, 100%, 40%);">- t3193_10ms := 160,</span><br><span style="color: hsl(0, 100%, 40%);">- t3195 := 5,</span><br><span style="color: hsl(0, 100%, 40%);">- t3101 := 10,</span><br><span style="color: hsl(0, 100%, 40%);">- t3103 := 4,</span><br><span style="color: hsl(0, 100%, 40%);">- t3105 := 8,</span><br><span style="color: hsl(0, 100%, 40%);">- cv_countdown := 15,</span><br><span style="color: hsl(0, 100%, 40%);">- dl_tbf_ext := 250 * 10, /* ms */</span><br><span style="color: hsl(0, 100%, 40%);">- ul_tbf_ext := 250 * 10, /* ms */</span><br><span style="color: hsl(0, 100%, 40%);">- initial_cs := 2,</span><br><span style="color: hsl(0, 100%, 40%);">- initial_mcs := 6,</span><br><span style="color: hsl(0, 100%, 40%);">- nsvci := { mp_nsconfig.nsvci, 0 },</span><br><span style="color: hsl(0, 100%, 40%);">- local_pprt := { mp_nsconfig.remote_udp_port, 0 },</span><br><span style="color: hsl(0, 100%, 40%);">- remote_port := { mp_nsconfig.local_udp_port, 0 },</span><br><span style="color: hsl(0, 100%, 40%);">- remote_ip := { f_inet_haddr(mp_nsconfig.local_ip), '00000000'O }</span><br><span style="color: hsl(0, 100%, 40%);">- };</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(120, 100%, 40%);">+ if (istemplatekind(info_ind_tpl, "omit")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ info_ind := f_default_pcuif_info_ind();</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ info_ind := valueof(info_ind_tpl);</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> vc_PCUIF.start(f_PCUIF_CT_handler(mp_pcu_sock_path));</span><br><span> vc_BTS.start(f_BTS_CT_handler(0, info_ind));</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674">change 15674</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15674"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6 </div>
<div style="display:none"> Gerrit-Change-Number: 15674 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>