<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>