<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23016">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">pcu: add TC_sns_so_bvc_reset_unknown_bvci<br><br>Do an SGSN originated reset of signalling BVCI,<br>then do a SGSN originated reset of an unknown BVCI.<br><br>PCU  -X SGSN: BVCI  0 BSSGP-RESET (ignores reset)<br>PCU <-  SGSN: BVCI  0 BSSGP-RESET<br>PCU  -> SGSN: BVCI  0 BSSGP-RESET-ACK (with cell information)<br>PCU  -X SGSN: BVCI 23 BSSGP-RESET (ignores reset, 23 is configured on PCU, 24 is not configured)<br>PCU <-  SGSN: BVCI 24 BSSGP-RESET (unconfigured BVCI)<br>PCU  -> SGSN: BVCI 24 BSSGP-STATUS Unknown BVCI<br><br>Related: OS#3879<br>Change-Id: Iea5519b453dd544c5a78b3b16ddb5132d20cf67c<br>---<br>M pcu/PCU_Tests_SNS.ttcn<br>1 file changed, 42 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/pcu/PCU_Tests_SNS.ttcn b/pcu/PCU_Tests_SNS.ttcn</span><br><span>index c4f6b6e..34aec72 100644</span><br><span>--- a/pcu/PCU_Tests_SNS.ttcn</span><br><span>+++ b/pcu/PCU_Tests_SNS.ttcn</span><br><span>@@ -17,6 +17,7 @@</span><br><span> import from NS_Emulation all;</span><br><span> import from NS_Types all;</span><br><span> import from RAW_NS all;</span><br><span style="color: hsl(120, 100%, 40%);">+import from BSSGP_Types all;</span><br><span> </span><br><span> /**********************************************************************************</span><br><span>  * Modern Gb/IP bring-up test cases using IP Sub-Network Service (SNS)</span><br><span>@@ -246,6 +247,46 @@</span><br><span>       f_clean_ns_codec();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Do an SGSN originated BSSGP-Reset of a not-configured BVCI.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * PCU  -X SGSN: BVCI  0 BSSGP-RESET (ignores reset)</span><br><span style="color: hsl(120, 100%, 40%);">+ * PCU <-  SGSN: BVCI  0 BSSGP-RESET</span><br><span style="color: hsl(120, 100%, 40%);">+ * PCU  -> SGSN: BVCI  0 BSSGP-RESET-ACK (with cell information)</span><br><span style="color: hsl(120, 100%, 40%);">+ * PCU  -X SGSN: BVCI 23 BSSGP-RESET (ignores reset, 23 is configured on PCU, 24 is not configured)</span><br><span style="color: hsl(120, 100%, 40%);">+ * PCU <-  SGSN: BVCI 24 BSSGP-RESET (unconfigured BVCI)</span><br><span style="color: hsl(120, 100%, 40%);">+ * PCU  -> SGSN: BVCI 24 BSSGP-STATUS Unknown BVCI</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_sns_so_bvc_reset_unknown_bvci() runs on RAW_Test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+ f_init_ns_codec(mp_nsconfig);</span><br><span style="color: hsl(120, 100%, 40%);">+ f_init_pcuif();</span><br><span style="color: hsl(120, 100%, 40%);">+       f_incoming_sns_size();</span><br><span style="color: hsl(120, 100%, 40%);">+        f_incoming_sns_config();</span><br><span style="color: hsl(120, 100%, 40%);">+      f_outgoing_sns_config();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    /* wait for one ALIVE cycle, then ACK any further ALIVE in the background */</span><br><span style="color: hsl(120, 100%, 40%);">+  as_rx_alive_tx_ack(oneshot := true);</span><br><span style="color: hsl(120, 100%, 40%);">+  activate(as_rx_alive_tx_ack());</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     /* Expect BVC-RESET, but ignore it to prevent a race condition of BVC RESETs */</span><br><span style="color: hsl(120, 100%, 40%);">+       var template PDU_NS pdu := tr_NS_UNITDATA(t_SduCtrlB, 0, decmatch tr_BVC_RESET(?, 0, omit));</span><br><span style="color: hsl(120, 100%, 40%);">+  f_ns_exp(pdu, idx := 0);</span><br><span style="color: hsl(120, 100%, 40%);">+      /* SGSN originated BVC-RESET on an uninitialized sign BVC */</span><br><span style="color: hsl(120, 100%, 40%);">+  f_tx_bvc_reset_rx_ack(0, omit, omit, idx := 0);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     /* Expect BVC-RESET PTP BVC, but ignore it to prevent a race condition of BVC RESETs */</span><br><span style="color: hsl(120, 100%, 40%);">+       pdu := tr_NS_UNITDATA(t_SduCtrlB, 0, decmatch tr_BVC_RESET(?, mp_gb_cfg.bvc[0].bvci, mp_gb_cfg.bvc[0].cell_id));</span><br><span style="color: hsl(120, 100%, 40%);">+      f_ns_exp(pdu);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      /* Send a BVC-RESET on the wrong BVC */</span><br><span style="color: hsl(120, 100%, 40%);">+       var PDU_BSSGP bssgp_tx := valueof(ts_BVC_RESET(BSSGP_CAUSE_NET_SV_CAP_MOD_GT_ZERO_KBPS, mp_gb_cfg.bvc[0].bvci + 1,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                   omit));</span><br><span style="color: hsl(120, 100%, 40%);">+        NSCP[0].send(ts_NS_UNITDATA(t_SduCtrlB, 0, enc_PDU_BSSGP(bssgp_tx)));</span><br><span style="color: hsl(120, 100%, 40%);">+ NSCP[0].receive(tr_NS_UNITDATA(t_SduCtrlB, 0, decmatch tr_BSSGP_STATUS(mp_gb_cfg.bvc[0].bvci + 1, BSSGP_CAUSE_BVCI_UNKNOWN, *)));</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%);">+   f_clean_ns_codec();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Test adding new IP endpoints at runtime */</span><br><span> testcase TC_sns_add() runs on RAW_Test_CT {</span><br><span>     f_sns_bringup_1c1u();</span><br><span>@@ -328,6 +369,7 @@</span><br><span>  execute( TC_sns_1c1u_separate() );</span><br><span>   execute( TC_sns_1c1u_so_bvc_reset() );</span><br><span>       execute( TC_sns_1c1u_so_bvc_reset_too_early() );</span><br><span style="color: hsl(120, 100%, 40%);">+      execute( TC_sns_so_bvc_reset_unknown_bvci() );</span><br><span>       execute( TC_sns_add() );</span><br><span>     execute( TC_sns_add_nack() );</span><br><span>        execute( TC_sns_del() );</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23016">change 23016</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/+/23016"/><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: Iea5519b453dd544c5a78b3b16ddb5132d20cf67c </div>
<div style="display:none"> Gerrit-Change-Number: 23016 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: daniel <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-CC: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>