vtysh: handle "show modules" like "show memory"

Preface with line identifying which daemon it applies to.
[Also fixes a missed "plugin" -> "module" replace.]

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
This commit is contained in:
David Lamparter 2017-04-04 16:12:59 +02:00
parent 6b0275ac35
commit 2a8e27afb8
2 changed files with 30 additions and 15 deletions

View File

@ -121,7 +121,7 @@ DEFUN (show_modules,
struct frrmod_runtime *plug = frrmod_list;
vty_out (vty, "%-12s %-25s %s%s%s",
"Plugin Name", "Version", "Description",
"Module Name", "Version", "Description",
VTY_NEWLINE, VTY_NEWLINE);
while (plug)
{

View File

@ -2010,6 +2010,24 @@ DEFUNSH (VTYSH_ZEBRA,
return CMD_SUCCESS;
}
static int
show_per_daemon (const char *line, const char *headline)
{
unsigned int i;
int ret = CMD_SUCCESS;
for (i = 0; i < array_size(vtysh_client); i++)
if ( vtysh_client[i].fd >= 0 )
{
fprintf (stdout, headline,
vtysh_client[i].name);
ret = vtysh_client_execute (&vtysh_client[i], line, stdout);
fprintf (stdout,"\n");
}
return ret;
}
/* Memory */
DEFUN (vtysh_show_memory,
vtysh_show_memory_cmd,
@ -2017,20 +2035,16 @@ DEFUN (vtysh_show_memory,
SHOW_STR
"Memory statistics\n")
{
unsigned int i;
int ret = CMD_SUCCESS;
char line[] = "show memory\n";
for (i = 0; i < array_size(vtysh_client); i++)
if ( vtysh_client[i].fd >= 0 )
{
fprintf (stdout, "Memory statistics for %s:\n",
vtysh_client[i].name);
ret = vtysh_client_execute (&vtysh_client[i], line, stdout);
fprintf (stdout,"\n");
}
return ret;
return show_per_daemon ("show memory\n", "Memory statistics for %s:\n");
}
DEFUN (vtysh_show_modules,
vtysh_show_modules_cmd,
"show modules",
SHOW_STR
"Loaded modules\n")
{
return show_per_daemon ("show modules\n", "Module information for %s:\n");
}
/* Logging commands. */
@ -3388,6 +3402,7 @@ vtysh_init_vty (void)
#endif
install_element (VIEW_NODE, &vtysh_show_memory_cmd);
install_element (VIEW_NODE, &vtysh_show_modules_cmd);
install_element (VIEW_NODE, &vtysh_show_work_queues_cmd);
install_element (VIEW_NODE, &vtysh_show_work_queues_daemon_cmd);