<p>keith has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-mgw/+/24131">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Add show mgcp active<br><br>With just one E1 line, the 'show mgcp' command outputs<br>several hundred lines to the vty. Add a 'active' parameter to<br>only show endpoints that are active.<br><br>Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9<br>---<br>M src/libosmo-mgcp/mgcp_vty.c<br>1 file changed, 32 insertions(+), 14 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/31/24131/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c</span><br><span>index 521f86e..2329bdc 100644</span><br><span>--- a/src/libosmo-mgcp/mgcp_vty.c</span><br><span>+++ b/src/libosmo-mgcp/mgcp_vty.c</span><br><span>@@ -301,7 +301,7 @@</span><br><span> }</span><br><span> </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void dump_trunk(struct vty *vty, struct mgcp_trunk *trunk, int show_stats)</span><br><span style="color: hsl(120, 100%, 40%);">+static void dump_trunk(struct vty *vty, struct mgcp_trunk *trunk, int show_stats, int active_only)</span><br><span> {</span><br><span>    int i;</span><br><span> </span><br><span>@@ -316,29 +316,25 @@</span><br><span> </span><br><span>       for (i = 0; i < trunk->number_endpoints; ++i) {</span><br><span>                struct mgcp_endpoint *endp = trunk->endpoints[i];</span><br><span style="color: hsl(0, 100%, 40%);">-            dump_endpoint(vty, endp, trunk->trunk_nr, trunk->trunk_type,</span><br><span style="color: hsl(0, 100%, 40%);">-                            show_stats);</span><br><span style="color: hsl(0, 100%, 40%);">-              if (i < trunk->number_endpoints - 1)</span><br><span style="color: hsl(0, 100%, 40%);">-                      vty_out(vty, "%s", VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+            if (!active_only || !llist_empty(&endp->conns)) {</span><br><span style="color: hsl(120, 100%, 40%);">+                      dump_endpoint(vty, endp, trunk->trunk_nr, trunk->trunk_type,</span><br><span style="color: hsl(120, 100%, 40%);">+                                  show_stats);</span><br><span style="color: hsl(120, 100%, 40%);">+                    if (i < trunk->number_endpoints - 1)</span><br><span style="color: hsl(120, 100%, 40%);">+                            vty_out(vty, "%s", VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+            }</span><br><span>    }</span><br><span> </span><br><span>        if (show_stats)</span><br><span>              dump_ratectr_trunk(vty, trunk);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#define SHOW_MGCP_STR "Display information about the MGCP Media Gateway\n"</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-DEFUN(show_mcgp, show_mgcp_cmd,</span><br><span style="color: hsl(0, 100%, 40%);">-      "show mgcp [stats]",</span><br><span style="color: hsl(0, 100%, 40%);">-      SHOW_STR</span><br><span style="color: hsl(0, 100%, 40%);">-      SHOW_MGCP_STR</span><br><span style="color: hsl(0, 100%, 40%);">-      "Include Statistics\n")</span><br><span style="color: hsl(120, 100%, 40%);">+static int mgcp_show(struct vty *vty, int argc, const char **argv,</span><br><span style="color: hsl(120, 100%, 40%);">+                int show_stats, int active_only)</span><br><span> {</span><br><span>   struct mgcp_trunk *trunk;</span><br><span style="color: hsl(0, 100%, 40%);">-       int show_stats = argc >= 1;</span><br><span> </span><br><span>   llist_for_each_entry(trunk, &g_cfg->trunks, entry)</span><br><span style="color: hsl(0, 100%, 40%);">-               dump_trunk(vty, trunk, show_stats);</span><br><span style="color: hsl(120, 100%, 40%);">+           dump_trunk(vty, trunk, show_stats, active_only);</span><br><span> </span><br><span>         if (g_cfg->osmux)</span><br><span>                 vty_out(vty, "Osmux used CID: %d%s", osmux_cid_pool_count_used(),</span><br><span>@@ -350,6 +346,27 @@</span><br><span>   return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#define SHOW_MGCP_STR "Display information about the MGCP Media Gateway\n"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+DEFUN(show_mgcp, show_mgcp_cmd,</span><br><span style="color: hsl(120, 100%, 40%);">+      "show mgcp [stats]",</span><br><span style="color: hsl(120, 100%, 40%);">+      SHOW_STR</span><br><span style="color: hsl(120, 100%, 40%);">+      SHOW_MGCP_STR</span><br><span style="color: hsl(120, 100%, 40%);">+      "Include Statistics\n")</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+  int show_stats = argc >= 1;</span><br><span style="color: hsl(120, 100%, 40%);">+        return mgcp_show(vty, argc, argv, show_stats, 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(show_mgcp_active, show_mgcp_active_cmd,</span><br><span style="color: hsl(120, 100%, 40%);">+      "show mgcp active",</span><br><span style="color: hsl(120, 100%, 40%);">+      SHOW_STR</span><br><span style="color: hsl(120, 100%, 40%);">+      SHOW_MGCP_STR</span><br><span style="color: hsl(120, 100%, 40%);">+      "Show only Endpoints with Active Connections\n")</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+  return mgcp_show(vty, argc, argv, 0, 1);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> static void</span><br><span> dump_mgcp_endpoint(struct vty *vty, struct mgcp_trunk *trunk, const char *epname)</span><br><span> {</span><br><span>@@ -1606,6 +1623,7 @@</span><br><span> int mgcp_vty_init(void)</span><br><span> {</span><br><span>       install_element_ve(&show_mgcp_cmd);</span><br><span style="color: hsl(120, 100%, 40%);">+       install_element_ve(&show_mgcp_active_cmd);</span><br><span>       install_element_ve(&show_mgcp_endpoint_cmd);</span><br><span>     install_element_ve(&show_mgcp_trunk_endpoint_cmd);</span><br><span>       install_element(ENABLE_NODE, &loop_conn_cmd);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-mgw/+/24131">change 24131</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-mgw/+/24131"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-mgw </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9 </div>
<div style="display:none"> Gerrit-Change-Number: 24131 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: keith <keith@rhizomatica.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>