<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21219">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gbproxy: Remove array of three cell IDs<br><br>The hard-coded array of three cell identifiers in the ConnHdlr<br>configuration doesn't really reflect situations with a different<br>number of PCUs than three, and a different count of BVCs than one<br>per NSE.<br><br>Let's pass the entire PCU configuration as parameter into every<br>ConnHdlr.  This way, the ConnHdlr can learn whatever cell identities<br>there mgiht be in whatever number of BVCs of each NSE.<br><br>Change-Id: I0bb22be612b8aa256c9ee115ee44ea849c4225e1<br>---<br>M gbproxy/GBProxy_Tests.ttcn<br>1 file changed, 14 insertions(+), 11 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/19/21219/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn</span><br><span>index cec3124..874679d 100644</span><br><span>--- a/gbproxy/GBProxy_Tests.ttcn</span><br><span>+++ b/gbproxy/GBProxy_Tests.ttcn</span><br><span>@@ -251,7 +251,7 @@</span><br><span>        OCT4 tlli,</span><br><span>   OCT4 tlli_old optional,</span><br><span>      RoutingAreaIdentificationV ra optional,</span><br><span style="color: hsl(0, 100%, 40%);">- BssgpCellIds bssgp_cell_id,</span><br><span style="color: hsl(120, 100%, 40%);">+   GbInstances pcu,</span><br><span>     float t_guard</span><br><span> };</span><br><span> </span><br><span>@@ -427,7 +427,7 @@</span><br><span>                tlli := f_gprs_tlli_random(),</span><br><span>                tlli_old := omit,</span><br><span>            ra := omit,</span><br><span style="color: hsl(0, 100%, 40%);">-             bssgp_cell_id := { pcu[0].cfg.bvc[0].cell_id, pcu[1].cfg.bvc[0].cell_id, pcu[2].cfg.bvc[0].cell_id },</span><br><span style="color: hsl(120, 100%, 40%);">+         pcu := g_pcu,</span><br><span>                t_guard := t_guard</span><br><span>   };</span><br><span> </span><br><span>@@ -572,15 +572,16 @@</span><br><span> }</span><br><span> </span><br><span> friend function f_bssgp_suspend(integer ran_idx := 0) runs on BSSGP_ConnHdlr return OCT1 {</span><br><span style="color: hsl(120, 100%, 40%);">+ var BssgpBvcConfig bvcc := g_pars.pcu[ran_idx].cfg.bvc[0];</span><br><span>   timer T := 5.0;</span><br><span>      var PDU_BSSGP rx_pdu;</span><br><span style="color: hsl(0, 100%, 40%);">-   PCU_SIG[ran_idx].send(ts_BSSGP_SUSPEND(g_pars.tlli, g_pars.bssgp_cell_id[ran_idx].ra_id));</span><br><span style="color: hsl(120, 100%, 40%);">+    PCU_SIG[ran_idx].send(ts_BSSGP_SUSPEND(g_pars.tlli, bvcc.cell_id.ra_id));</span><br><span>    T.start;</span><br><span>     alt {</span><br><span style="color: hsl(0, 100%, 40%);">-   [] PCU_SIG[ran_idx].receive(tr_BSSGP_SUSPEND_ACK(g_pars.tlli, g_pars.bssgp_cell_id[ran_idx].ra_id, ?)) -> value rx_pdu {</span><br><span style="color: hsl(120, 100%, 40%);">+   [] PCU_SIG[ran_idx].receive(tr_BSSGP_SUSPEND_ACK(g_pars.tlli, bvcc.cell_id.ra_id, ?)) -> value rx_pdu {</span><br><span>           return rx_pdu.pDU_BSSGP_SUSPEND_ACK.suspend_Reference_Number.suspend_Reference_Number_value;</span><br><span>                 }</span><br><span style="color: hsl(0, 100%, 40%);">-       [] PCU_SIG[ran_idx].receive(tr_BSSGP_SUSPEND_NACK(g_pars.tlli, g_pars.bssgp_cell_id[ran_idx].ra_id, ?)) -> value rx_pdu {</span><br><span style="color: hsl(120, 100%, 40%);">+  [] PCU_SIG[ran_idx].receive(tr_BSSGP_SUSPEND_NACK(g_pars.tlli, bvcc.cell_id.ra_id, ?)) -> value rx_pdu {</span><br><span>          setverdict(fail, "SUSPEND-NACK in response to SUSPEND for TLLI ", g_pars.tlli);</span><br><span>            mtc.stop;</span><br><span>            }</span><br><span>@@ -593,13 +594,13 @@</span><br><span> }</span><br><span> </span><br><span> friend function f_bssgp_resume(OCT1 susp_ref, integer ran_idx := 0) runs on BSSGP_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+    var BssgpBvcConfig bvcc := g_pars.pcu[ran_idx].cfg.bvc[0];</span><br><span>   timer T := 5.0;</span><br><span style="color: hsl(0, 100%, 40%);">- PCU_SIG[ran_idx].send(ts_BSSGP_RESUME(g_pars.tlli, g_pars.bssgp_cell_id[ran_idx].ra_id, susp_ref));</span><br><span style="color: hsl(120, 100%, 40%);">+   PCU_SIG[ran_idx].send(ts_BSSGP_RESUME(g_pars.tlli, bvcc.cell_id.ra_id, susp_ref));</span><br><span>   T.start;</span><br><span>     alt {</span><br><span style="color: hsl(0, 100%, 40%);">-   [] PCU_SIG[ran_idx].receive(tr_BSSGP_RESUME_ACK(g_pars.tlli, g_pars.bssgp_cell_id[ran_idx].ra_id));</span><br><span style="color: hsl(0, 100%, 40%);">-     [] PCU_SIG[ran_idx].receive(tr_BSSGP_RESUME_NACK(g_pars.tlli, g_pars.bssgp_cell_id[ran_idx].ra_id,</span><br><span style="color: hsl(0, 100%, 40%);">-?)) {</span><br><span style="color: hsl(120, 100%, 40%);">+       [] PCU_SIG[ran_idx].receive(tr_BSSGP_RESUME_ACK(g_pars.tlli, bvcc.cell_id.ra_id));</span><br><span style="color: hsl(120, 100%, 40%);">+    [] PCU_SIG[ran_idx].receive(tr_BSSGP_RESUME_NACK(g_pars.tlli, bvcc.cell_id.ra_id, ?)) {</span><br><span>              setverdict(fail, "RESUME-NACK in response to RESUME for TLLI ", g_pars.tlli);</span><br><span>              mtc.stop;</span><br><span>            }</span><br><span>@@ -613,13 +614,15 @@</span><br><span> </span><br><span> /* send uplink-unitdata of a variety of different sizes; expect it to show up on SGSN */</span><br><span> private function f_TC_ul_unitdata(charstring id) runs on BSSGP_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+        var integer ran_idx := 0;</span><br><span style="color: hsl(120, 100%, 40%);">+     var BssgpBvcConfig bvcc := g_pars.pcu[ran_idx].cfg.bvc[0];</span><br><span>   var integer i;</span><br><span> </span><br><span>   for (i := 0; i < 1024; i := i+1) {</span><br><span>                var octetstring payload := f_rnd_octstring(i);</span><br><span style="color: hsl(0, 100%, 40%);">-          var template (value) PDU_BSSGP pdu_tx := ts_BSSGP_UL_UD(g_pars.tlli, g_pars.bssgp_cell_id[0], payload);</span><br><span style="color: hsl(120, 100%, 40%);">+               var template (value) PDU_BSSGP pdu_tx := ts_BSSGP_UL_UD(g_pars.tlli, bvcc.cell_id, payload);</span><br><span>                 /* we cannot use pdu_tx as there are some subtle differences in the length field :/ */</span><br><span style="color: hsl(0, 100%, 40%);">-          var template (present) PDU_BSSGP pdu_rx := tr_BSSGP_UL_UD(g_pars.tlli, g_pars.bssgp_cell_id[0], payload);</span><br><span style="color: hsl(120, 100%, 40%);">+             var template (present) PDU_BSSGP pdu_rx := tr_BSSGP_UL_UD(g_pars.tlli, bvcc.cell_id, payload);</span><br><span> </span><br><span>           f_pcu2sgsn(pdu_tx, pdu_rx);</span><br><span>  }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21219">change 21219</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/+/21219"/><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: I0bb22be612b8aa256c9ee115ee44ea849c4225e1 </div>
<div style="display:none"> Gerrit-Change-Number: 21219 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>