Acked-by: Donald Sharp <sha...@cumulusnetworks.com>

On Thu, Dec 24, 2015 at 1:10 PM, Lou Berger <lber...@labn.net> wrote:

> To facilitate debugging and operation.
>
> Signed-off-by: Lou Berger <lber...@labn.net>
> Signed-off-by: David Lamparter <equi...@opensourcerouting.org>
> ---
>  lib/command.c | 35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
>
> diff --git a/lib/command.c b/lib/command.c
> index accd3de..d4023ab 100644
> --- a/lib/command.c
> +++ b/lib/command.c
> @@ -4056,6 +4056,37 @@ DEFUN (no_banner_motd,
>    return CMD_SUCCESS;
>  }
>
> +DEFUN (show_commandtree,
> +       show_commandtree_cmd,
> +       "show commandtree",
> +       NO_STR
> +       "Show command tree\n")
> +{
> +  /* TBD */
> +  vector cmd_vector;
> +  unsigned int i;
> +
> +  vty_out (vty, "Current node id: %d%s", vty->node, VTY_NEWLINE);
> +
> +  /* vector of all commands installed at this node */
> +  cmd_vector = vector_copy (cmd_node_vector (cmdvec, vty->node));
> +
> +  /* loop over all commands at this node */
> +  for (i = 0; i < vector_active(cmd_vector); ++i)
> +    {
> +      struct cmd_element *cmd_element;
> +
> +      /* A cmd_element (seems to be) is an individual command */
> +      if ((cmd_element = vector_slot (cmd_vector, i)) == NULL)
> +        continue;
> +
> +      vty_out (vty, "    %s%s", cmd_element->string, VTY_NEWLINE);
> +    }
> +
> +  vector_free (cmd_vector);
> +  return CMD_SUCCESS;
> +}
> +
>  /* Set config filename.  Called from vty.c */
>  void
>  host_config_set (char *filename)
> @@ -4124,6 +4155,7 @@ cmd_init (int terminal)
>        install_element (VIEW_NODE, &config_terminal_length_cmd);
>        install_element (VIEW_NODE, &config_terminal_no_length_cmd);
>        install_element (VIEW_NODE, &show_logging_cmd);
> +      install_element (VIEW_NODE, &show_commandtree_cmd);
>        install_element (VIEW_NODE, &echo_cmd);
>
>        install_element (RESTRICTED_NODE, &config_list_cmd);
> @@ -4133,6 +4165,7 @@ cmd_init (int terminal)
>        install_element (RESTRICTED_NODE, &config_enable_cmd);
>        install_element (RESTRICTED_NODE, &config_terminal_length_cmd);
>        install_element (RESTRICTED_NODE, &config_terminal_no_length_cmd);
> +      install_element (RESTRICTED_NODE, &show_commandtree_cmd);
>        install_element (RESTRICTED_NODE, &echo_cmd);
>      }
>
> @@ -4145,6 +4178,7 @@ cmd_init (int terminal)
>      }
>    install_element (ENABLE_NODE, &show_startup_config_cmd);
>    install_element (ENABLE_NODE, &show_version_cmd);
> +  install_element (ENABLE_NODE, &show_commandtree_cmd);
>
>    if (terminal)
>      {
> @@ -4207,6 +4241,7 @@ cmd_init (int terminal)
>        install_element (VIEW_NODE, &show_work_queues_cmd);
>        install_element (ENABLE_NODE, &show_work_queues_cmd);
>      }
> +  install_element (CONFIG_NODE, &show_commandtree_cmd);
>    srandom(time(NULL));
>  }
>
> --
> 2.1.3
>
>
> _______________________________________________
> Quagga-dev mailing list
> Quagga-dev@lists.quagga.net
> https://lists.quagga.net/mailman/listinfo/quagga-dev
>
_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to