<p>daniel <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/21232">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  daniel: Looks good to me, approved
  laforge: Looks good to me, but someone else must approve
  pespin: Looks good to me, but someone else must approve

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">ns2: Add a VTY command to reset NSVC FSM<br><br>Mainly useful for testing so implemented as a hidden command<br><br>Change-Id: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf<br>Related: SYS#5002<br>---<br>M src/gb/gprs_ns2_vty.c<br>1 file changed, 33 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c</span><br><span>index 65fe88e..63331b9 100644</span><br><span>--- a/src/gb/gprs_ns2_vty.c</span><br><span>+++ b/src/gb/gprs_ns2_vty.c</span><br><span>@@ -34,6 +34,7 @@</span><br><span> </span><br><span> #include <osmocom/core/msgb.h></span><br><span> #include <osmocom/core/byteswap.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/core/fsm.h></span><br><span> #include <osmocom/core/talloc.h></span><br><span> #include <osmocom/core/select.h></span><br><span> #include <osmocom/core/rate_ctr.h></span><br><span>@@ -354,6 +355,36 @@</span><br><span>        return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+static int nsvc_force_unconf_cb(struct gprs_ns2_vc *nsvc, void *ctx)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ gprs_ns2_vc_force_unconfigured(nsvc);</span><br><span style="color: hsl(120, 100%, 40%);">+ return 0;</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%);">+DEFUN_HIDDEN(nsvc_force_unconf, nsvc_force_unconf_cmd,</span><br><span style="color: hsl(120, 100%, 40%);">+        "nsvc nsei <0-65535> force-unconfigured",</span><br><span style="color: hsl(120, 100%, 40%);">+     "NS Virtual Connection\n"</span><br><span style="color: hsl(120, 100%, 40%);">+   "The NSEI\n"</span><br><span style="color: hsl(120, 100%, 40%);">+        "Reset the NSVCs back to initial state\n"</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%);">+  struct gprs_ns2_inst *nsi = vty_nsi;</span><br><span style="color: hsl(120, 100%, 40%);">+  struct gprs_ns2_nse *nse;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   uint16_t id = atoi(argv[0]);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        nse = gprs_ns2_nse_by_nsei(nsi, id);</span><br><span style="color: hsl(120, 100%, 40%);">+  if (!nse) {</span><br><span style="color: hsl(120, 100%, 40%);">+           vty_out(vty, "Could not find NSE for NSEI %u%s", id, VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+          return CMD_WARNING;</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%);">+   /* Perform the operation for all nsvc */</span><br><span style="color: hsl(120, 100%, 40%);">+      gprs_ns2_nse_foreach_nsvc(nse, nsvc_force_unconf_cb, NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ return CMD_SUCCESS;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> #define NSE_CMD_STR "Persistent NS Entity\n" "NS Entity ID (NSEI)\n"</span><br><span> </span><br><span> DEFUN(cfg_nse_nsvc, cfg_nse_nsvci_cmd,</span><br><span>@@ -699,6 +730,8 @@</span><br><span>     install_lib_element_ve(&show_nse_cmd);</span><br><span>   install_lib_element_ve(&logging_fltr_nsvc_cmd);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+       install_lib_element(ENABLE_NODE, &nsvc_force_unconf_cmd);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>      install_lib_element(CFG_LOG_NODE, &logging_fltr_nsvc_cmd);</span><br><span> </span><br><span>   install_lib_element(CONFIG_NODE, &cfg_ns_cmd);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/21232">change 21232</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/libosmocore/+/21232"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf </div>
<div style="display:none"> Gerrit-Change-Number: 21232 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: daniel <dwillmann@sysmocom.de> </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-Reviewer: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>