<p>daniel has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21265">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">WIP FLUSH_LL<br><br>Change-Id: Iea2d6ec81d2627f6e41d6c360210f52f7e21d07c<br>---<br>M gbproxy/GBProxy_Tests.ttcn<br>M library/Osmocom_Gb_Types.ttcn<br>2 files changed, 86 insertions(+), 0 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/65/21265/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 bf777cc..63427df 100644</span><br><span>--- a/gbproxy/GBProxy_Tests.ttcn</span><br><span>+++ b/gbproxy/GBProxy_Tests.ttcn</span><br><span>@@ -861,6 +861,31 @@</span><br><span>    f_cleanup();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_flush_ll(charstring id) runs on BSSGP_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+ var BssgpBvci bvci := g_pars.pcu[0].cfg.bvc[0].bvci;</span><br><span style="color: hsl(120, 100%, 40%);">+  var integer i;</span><br><span style="color: hsl(120, 100%, 40%);">+        for (i := 0; i < 10; i := i+1) {</span><br><span style="color: hsl(120, 100%, 40%);">+           /* TODO: Test ACK, correctly set old and new bvci and nsei</span><br><span style="color: hsl(120, 100%, 40%);">+             * Actually move the tlli to a different BVC and check that the tlli is now moved to the new BVC (e.g. through paging) */</span><br><span style="color: hsl(120, 100%, 40%);">+             var template (value) PDU_BSSGP pdu_tx := ts_BSSGP_FLUSH_LL(g_pars.tlli, bvci, omit, omit);</span><br><span style="color: hsl(120, 100%, 40%);">+            /* we cannot use pdu_tx as there are some subtle differences in the length field :/ */</span><br><span style="color: hsl(120, 100%, 40%);">+                var template (present) PDU_BSSGP pdu_rx := tr_BSSGP_FLUSH_LL(g_pars.tlli, bvci, omit, omit);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                f_sgsn2pcu(pdu_tx, pdu_rx);</span><br><span style="color: hsl(120, 100%, 40%);">+   }</span><br><span style="color: hsl(120, 100%, 40%);">+     setverdict(pass);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_flush_ll() runs on test_CT</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+       var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_flush_ll), testcasename(), g_pcu, g_sgsn, 6);</span><br><span style="color: hsl(120, 100%, 40%);">+  vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+ /* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   f_cleanup();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span> </span><br><span> control {</span><br><span>     execute( TC_BVC_bringup() );</span><br><span>@@ -871,6 +896,7 @@</span><br><span>   execute( TC_radio_status() );</span><br><span>        execute( TC_suspend() );</span><br><span>     execute( TC_resume() );</span><br><span style="color: hsl(120, 100%, 40%);">+       execute( TC_flush_ll() );</span><br><span> }</span><br><span> </span><br><span> </span><br><span>diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn</span><br><span>index 2c82437..d55124f 100644</span><br><span>--- a/library/Osmocom_Gb_Types.ttcn</span><br><span>+++ b/library/Osmocom_Gb_Types.ttcn</span><br><span>@@ -777,6 +777,24 @@</span><br><span>               unstructured_value := f_oct_or_wc(bvci, 2)</span><br><span>   }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) NSEI_BSSGP ts_BSSGP_NSEI(template (value) Nsei nsei) := {</span><br><span style="color: hsl(120, 100%, 40%);">+            iEI:= '3E'O,</span><br><span style="color: hsl(120, 100%, 40%);">+          ext := '1'B,</span><br><span style="color: hsl(120, 100%, 40%);">+          lengthIndicator := {</span><br><span style="color: hsl(120, 100%, 40%);">+                  length1 := 2</span><br><span style="color: hsl(120, 100%, 40%);">+          },</span><br><span style="color: hsl(120, 100%, 40%);">+            nSEI := f_oct_or_wc(nsei, 2)</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%);">+   template NSEI_BSSGP tr_BSSGP_NSEI(template Nsei nsei) := {</span><br><span style="color: hsl(120, 100%, 40%);">+            iEI:= '3E'O,</span><br><span style="color: hsl(120, 100%, 40%);">+          ext := '1'B,</span><br><span style="color: hsl(120, 100%, 40%);">+          lengthIndicator := {</span><br><span style="color: hsl(120, 100%, 40%);">+                  length1 := 2</span><br><span style="color: hsl(120, 100%, 40%);">+          },</span><br><span style="color: hsl(120, 100%, 40%);">+            nSEI := f_oct_or_wc(nsei, 2)</span><br><span style="color: hsl(120, 100%, 40%);">+  }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  template (value) TLLI_BSSGP ts_BSSGP_TLLI(template (value) GprsTlli tlli) := {</span><br><span>               iEI := '1F'O,</span><br><span>                ext := '1'B,</span><br><span>@@ -1683,6 +1701,48 @@</span><br><span>                }</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ /* 10.4.1 */</span><br><span style="color: hsl(120, 100%, 40%);">+  template (value) PDU_BSSGP ts_BSSGP_FLUSH_LL(GprsTlli tlli, template (value) BssgpBvci bvci_old,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                   template (omit) BssgpBvci bvci_new,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                   template (omit) Nsei nsei) := {</span><br><span style="color: hsl(120, 100%, 40%);">+          pDU_BSSGP_FLUSH_LL := {</span><br><span style="color: hsl(120, 100%, 40%);">+                       bssgpPduType := '2B'O,</span><br><span style="color: hsl(120, 100%, 40%);">+                        tLLI := ts_BSSGP_TLLI(tlli),</span><br><span style="color: hsl(120, 100%, 40%);">+                  bVCI_old := t_BSSGP_BVCI(bvci_old),</span><br><span style="color: hsl(120, 100%, 40%);">+                   bVCI_new := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+                     nSEI := omit</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%);">+     template PDU_BSSGP tr_BSSGP_FLUSH_LL(template GprsTlli tlli, template BssgpBvci bvci_old,</span><br><span style="color: hsl(120, 100%, 40%);">+                                          template (omit) BssgpBvci bvci_new,</span><br><span style="color: hsl(120, 100%, 40%);">+                                           template (omit) Nsei nsei) := {</span><br><span style="color: hsl(120, 100%, 40%);">+          pDU_BSSGP_FLUSH_LL := {</span><br><span style="color: hsl(120, 100%, 40%);">+                       bssgpPduType := '2B'O,</span><br><span style="color: hsl(120, 100%, 40%);">+                        tLLI := tr_BSSGP_TLLI(tlli),</span><br><span style="color: hsl(120, 100%, 40%);">+                  bVCI_old := t_BSSGP_BVCI(bvci_old),</span><br><span style="color: hsl(120, 100%, 40%);">+                   bVCI_new := t_BSSGP_BVCI(bvci_new),</span><br><span style="color: hsl(120, 100%, 40%);">+                   nSEI := ?</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%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   /* 10.4.2 */</span><br><span style="color: hsl(120, 100%, 40%);">+/*        template (value) PDU_BSSGP ts_BSSGP_FLUSH_LL_ACK(GprsTlli tlli, RoutingAreaIdentification ra_id)</span><br><span style="color: hsl(120, 100%, 40%);">+              := {</span><br><span style="color: hsl(120, 100%, 40%);">+          pDU_BSSGP_FLUSH_LL_ACK := {</span><br><span style="color: hsl(120, 100%, 40%);">+                   bssgpPduType := '0F'O,</span><br><span style="color: hsl(120, 100%, 40%);">+                        tLLI := ts_BSSGP_TLLI(tlli),</span><br><span style="color: hsl(120, 100%, 40%);">+                  routeing_Area := ts_BSSGP_RA_ID(ra_id)</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%);">+     template PDU_BSSGP tr_BSSGP_FLUSH_LL_ACK(template GprsTlli tlli,</span><br><span style="color: hsl(120, 100%, 40%);">+                                              RoutingAreaIdentification ra_id) := {</span><br><span style="color: hsl(120, 100%, 40%);">+         pDU_BSSGP_FLUSH_LL_ACK := {</span><br><span style="color: hsl(120, 100%, 40%);">+                   bssgpPduType := '0F'O,</span><br><span style="color: hsl(120, 100%, 40%);">+                        tLLI := tr_BSSGP_TLLI(tlli),</span><br><span style="color: hsl(120, 100%, 40%);">+                  routeing_Area := ts_BSSGP_RA_ID(ra_id)</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%);">+*/</span><br><span>        /* 10.2.3 */</span><br><span>         template (value) PDU_BSSGP ts_BSSGP_RA_CAP(GprsTlli tlli,</span><br><span>                                               template (omit) MSRadioAccessCapabilityV_BSSGP racap := omit) := {</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21265">change 21265</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/+/21265"/><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: Iea2d6ec81d2627f6e41d6c360210f52f7e21d07c </div>
<div style="display:none"> Gerrit-Change-Number: 21265 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: daniel <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>