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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">osmo_ss7_vty.c: implement 'active' filter for show_cs7_as_cmd<br><br>Change-Id: I356d90642a500be6a70f60c8240ce1211fd0d934<br>---<br>M include/osmocom/sigtran/osmo_ss7.h<br>M src/osmo_ss7.c<br>M src/osmo_ss7_vty.c<br>M src/xua_as_fsm.c<br>M src/xua_as_fsm.h<br>M tests/vty/ss7_asp_test.vty<br>6 files changed, 20 insertions(+), 9 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h</span><br><span>index d0aa9a1..6778409 100644</span><br><span>--- a/include/osmocom/sigtran/osmo_ss7.h</span><br><span>+++ b/include/osmocom/sigtran/osmo_ss7.h</span><br><span>@@ -346,6 +346,7 @@</span><br><span> void osmo_ss7_as_destroy(struct osmo_ss7_as *as);</span><br><span> bool osmo_ss7_as_has_asp(struct osmo_ss7_as *as,</span><br><span>                        struct osmo_ss7_asp *asp);</span><br><span style="color: hsl(120, 100%, 40%);">+bool osmo_ss7_as_active(const struct osmo_ss7_as *as);</span><br><span> bool osmo_ss7_as_tmode_compatible_xua(struct osmo_ss7_as *as, uint32_t m3ua_tmt);</span><br><span> void osmo_ss7_asp_disconnect(struct osmo_ss7_asp *asp);</span><br><span> </span><br><span>diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c</span><br><span>index 0d49d1a..d74f8f9 100644</span><br><span>--- a/src/osmo_ss7.c</span><br><span>+++ b/src/osmo_ss7.c</span><br><span>@@ -1068,6 +1068,16 @@</span><br><span>        return false;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/*! Determine if given AS is in the active state.</span><br><span style="color: hsl(120, 100%, 40%);">+ *  \param[in] as Application Server.</span><br><span style="color: hsl(120, 100%, 40%);">+ *  \returns true in case as is active; false otherwise. */</span><br><span style="color: hsl(120, 100%, 40%);">+bool osmo_ss7_as_active(const struct osmo_ss7_as *as)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+       if (!as->fi)</span><br><span style="color: hsl(120, 100%, 40%);">+               return false;</span><br><span style="color: hsl(120, 100%, 40%);">+ return as->fi->state == XUA_AS_S_ACTIVE;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /***********************************************************************</span><br><span>  * SS7 Application Server Process</span><br><span>  ***********************************************************************/</span><br><span>diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c</span><br><span>index 1a246db..84f616a 100644</span><br><span>--- a/src/osmo_ss7_vty.c</span><br><span>+++ b/src/osmo_ss7_vty.c</span><br><span>@@ -1096,7 +1096,8 @@</span><br><span>                       continue;</span><br><span>            if (filter && !strcmp(filter, "sua") && as->cfg.proto != OSMO_SS7_ASP_PROT_SUA)</span><br><span>                         continue;</span><br><span style="color: hsl(0, 100%, 40%);">-               /* FIXME: active filter */</span><br><span style="color: hsl(120, 100%, 40%);">+            if (filter && !strcmp(filter, "active") && !osmo_ss7_as_active(as))</span><br><span style="color: hsl(120, 100%, 40%);">+                 continue;</span><br><span>            vty_out(vty, "%-12s %-12s %-10u %-13s %4s %13s %3s %5s %4s %10s%s",</span><br><span>                        as->cfg.name, osmo_fsm_inst_state_name(as->fi), as->cfg.routing_key.context,</span><br><span>                        osmo_ss7_pointcode_print(as->inst, as->cfg.routing_key.pc),</span><br><span>diff --git a/src/xua_as_fsm.c b/src/xua_as_fsm.c</span><br><span>index 394061b..602c433 100644</span><br><span>--- a/src/xua_as_fsm.c</span><br><span>+++ b/src/xua_as_fsm.c</span><br><span>@@ -147,13 +147,6 @@</span><br><span> </span><br><span> #define MSEC_TO_S_US(x)            (x/1000), ((x%1000)*10)</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-enum xua_as_state {</span><br><span style="color: hsl(0, 100%, 40%);">-  XUA_AS_S_DOWN,</span><br><span style="color: hsl(0, 100%, 40%);">-  XUA_AS_S_INACTIVE,</span><br><span style="color: hsl(0, 100%, 40%);">-      XUA_AS_S_ACTIVE,</span><br><span style="color: hsl(0, 100%, 40%);">-        XUA_AS_S_PENDING,</span><br><span style="color: hsl(0, 100%, 40%);">-};</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> static const struct value_string xua_as_event_names[] = {</span><br><span>     { XUA_ASPAS_ASP_INACTIVE_IND,   "ASPAS-ASP_INACTIVE.ind" },</span><br><span>        { XUA_ASPAS_ASP_DOWN_IND,       "ASPAS-ASP_DOWN.ind" },</span><br><span>diff --git a/src/xua_as_fsm.h b/src/xua_as_fsm.h</span><br><span>index 0128919..0e71350 100644</span><br><span>--- a/src/xua_as_fsm.h</span><br><span>+++ b/src/xua_as_fsm.h</span><br><span>@@ -2,6 +2,13 @@</span><br><span> </span><br><span> struct osmo_ss7_as;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+enum xua_as_state {</span><br><span style="color: hsl(120, 100%, 40%);">+ XUA_AS_S_DOWN,</span><br><span style="color: hsl(120, 100%, 40%);">+        XUA_AS_S_INACTIVE,</span><br><span style="color: hsl(120, 100%, 40%);">+    XUA_AS_S_ACTIVE,</span><br><span style="color: hsl(120, 100%, 40%);">+      XUA_AS_S_PENDING,</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> enum xua_as_event {</span><br><span>       XUA_ASPAS_ASP_INACTIVE_IND,</span><br><span>  XUA_ASPAS_ASP_DOWN_IND,</span><br><span>diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty</span><br><span>index eeda4c8..a7fe492 100644</span><br><span>--- a/tests/vty/ss7_asp_test.vty</span><br><span>+++ b/tests/vty/ss7_asp_test.vty</span><br><span>@@ -280,7 +280,6 @@</span><br><span>                           Routing    Routing Key                          Cic   Cic   Traffic</span><br><span> AS Name      State        Context    Dpc           Si   Opc           Ssn Min   Max   Mode</span><br><span> ------------ ------------ ---------- ------------- ---- ------------- --- ----- ----- -------</span><br><span style="color: hsl(0, 100%, 40%);">-my-ass       AS_DOWN      0          0.0.0                                             override</span><br><span> </span><br><span> ss7_asp_vty_test(config-cs7-as)# do show cs7 instance 0 as sua</span><br><span>                           Routing    Routing Key                          Cic   Cic   Traffic</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmo-sccp/+/15995">change 15995</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/libosmo-sccp/+/15995"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmo-sccp </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I356d90642a500be6a70f60c8240ce1211fd0d934 </div>
<div style="display:none"> Gerrit-Change-Number: 15995 </div>
<div style="display:none"> Gerrit-PatchSet: 6 </div>
<div style="display:none"> Gerrit-Owner: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>