<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>