<p>daniel has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25575">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gbproxy: Check SGSN-orignated BVC RESET if BSS BVC is gone<br><br>IF the BSS-BVC is gone gbproxy blocks the BVC towards the SGSN (this is<br>the only thing it can do since there is no BVC-REMOVE). If the SGSN ever<br>decides to reset that BVC the gbproxy should not ACK it, but instead<br>consider the BVCI unknown.<br><br>Change-Id: Ic57b39a77adf71abda99ef8af7da1592e2225a0d<br>Related: SYS#5628, OS#5236<br>---<br>M gbproxy/GBProxy_Tests.ttcn<br>M library/BSSGP_Emulation.ttcnpp<br>2 files changed, 40 insertions(+), 2 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/75/25575/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 035a47d..fa1e956 100644</span><br><span>--- a/gbproxy/GBProxy_Tests.ttcn</span><br><span>+++ b/gbproxy/GBProxy_Tests.ttcn</span><br><span>@@ -1158,6 +1158,21 @@</span><br><span>        setverdict(pass);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+private function f_disable_ns_pcu(integer pcu_idx) runs on test_CT</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+     var integer i;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      connect(self:NS_CTRL, g_pcu[pcu_idx].vc_NS:NS_CTRL);</span><br><span style="color: hsl(120, 100%, 40%);">+  for (i := 0; i < lengthof(mp_nsconfig_pcu[pcu_idx].nsvc); i := i + 1) {</span><br><span style="color: hsl(120, 100%, 40%);">+            var uint16_t nsvci := mp_nsconfig_pcu[pcu_idx].nsvc[i].nsvci;</span><br><span style="color: hsl(120, 100%, 40%);">+         var NsDisableVcRequest tx_disar;</span><br><span style="color: hsl(120, 100%, 40%);">+              tx_disar.nsvci := nsvci;</span><br><span style="color: hsl(120, 100%, 40%);">+              log(tx_disar);</span><br><span style="color: hsl(120, 100%, 40%);">+                NS_CTRL.send(tx_disar);</span><br><span style="color: hsl(120, 100%, 40%);">+       }</span><br><span style="color: hsl(120, 100%, 40%);">+     disconnect(self:NS_CTRL, g_pcu[pcu_idx].vc_NS:NS_CTRL);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> testcase TC_ul_unitdata_pool_failure() runs on test_CT</span><br><span> {</span><br><span>  var integer i;</span><br><span>@@ -2708,11 +2723,32 @@</span><br><span>     setverdict(pass);</span><br><span> }</span><br><span> /* Send a BVC-RESET for a PTP BVC from the SGSN side: expect it to propagate */</span><br><span style="color: hsl(0, 100%, 40%);">-testcase TC_bvc_reset_ptp_from_sgsn() runs on test_CT</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_bvc_reset_ptp_from_sgsn() runs on GlobalTest_CT</span><br><span> {</span><br><span>     f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_global_init();</span><br><span>     f_sleep(3.0);</span><br><span>        f_reset_ptp_bvc_from_sgsn(0, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+      /* Make sure NS for BVC is down and try again */</span><br><span style="color: hsl(120, 100%, 40%);">+      log("Disabling BSS NSE");</span><br><span style="color: hsl(120, 100%, 40%);">+   f_disable_ns_pcu(0);</span><br><span style="color: hsl(120, 100%, 40%);">+  f_sleep(10.0);</span><br><span style="color: hsl(120, 100%, 40%);">+        var BssgpBvcConfig bvc_cfg := g_pcu[0].cfg.bvc[0];</span><br><span style="color: hsl(120, 100%, 40%);">+    SGSN_MGMT.send(BssgpResetRequest:{cause:=BSSGP_CAUSE_OM_INTERVENTION}) to f_get_sgsn_bvc_ct(0, bvc_cfg.bvci);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       /* Check for NS-STATUS with BVCI unknown, ignore other messages */</span><br><span style="color: hsl(120, 100%, 40%);">+    var template (present) PDU_BSSGP exp_rx :=</span><br><span style="color: hsl(120, 100%, 40%);">+            tr_BSSGP_STATUS(bvc_cfg.bvci, BSSGP_CAUSE_BVCI_UNKNOWN, ?);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ alt {</span><br><span style="color: hsl(120, 100%, 40%);">+ [] G_SGSN[0].receive(exp_rx) {</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%);">+     [] G_SGSN[0].receive {</span><br><span style="color: hsl(120, 100%, 40%);">+                repeat;</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>  f_cleanup();</span><br><span> }</span><br><span> </span><br><span>diff --git a/library/BSSGP_Emulation.ttcnpp b/library/BSSGP_Emulation.ttcnpp</span><br><span>index 593abd8..8d27fd1 100644</span><br><span>--- a/library/BSSGP_Emulation.ttcnpp</span><br><span>+++ b/library/BSSGP_Emulation.ttcnpp</span><br><span>@@ -323,7 +323,9 @@</span><br><span> </span><br><span>         /* Messages with BVCI = 0 (Signaling) in BVCI field of NS */</span><br><span>         [] BSCP.receive(f_BnsUdInd(tr_GLOBAL_SIG, 0)) -> value udi {</span><br><span style="color: hsl(0, 100%, 40%);">-         GLOBAL.send(udi.bssgp);</span><br><span style="color: hsl(120, 100%, 40%);">+               if (GLOBAL.checkstate("Connected")) {</span><br><span style="color: hsl(120, 100%, 40%);">+                       GLOBAL.send(udi.bssgp);</span><br><span style="color: hsl(120, 100%, 40%);">+               }</span><br><span>            }</span><br><span>    [] BSCP.receive(f_BnsUdInd(tr_RIM, 0)) -> value udi {</span><br><span>             if (RIM.checkstate("Connected")) {</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25575">change 25575</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/+/25575"/><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: Ic57b39a77adf71abda99ef8af7da1592e2225a0d </div>
<div style="display:none"> Gerrit-Change-Number: 25575 </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>