diff options
| author | Denis Ovsienko <infrastation@yandex.ru> | 2012-02-11 21:06:16 +0400 | 
|---|---|---|
| committer | Paul Jakma <paul@quagga.net> | 2012-03-25 17:06:54 +0100 | 
| commit | a14ef5eeccc8c76c41830475bbe3c31c9e14faa5 (patch) | |
| tree | 7099b5d4614c05491a1a5a1cef512f64c3f2512c /babeld/babel_zebra.c | |
| parent | ce590ecd85b3cf32c5429f09e12d92248cc01ef2 (diff) | |
babeld: justify "running-config" meaning in CLI
The primary focus of this commit is to make "show running-config"
command display more current configuration, including some of the bits
previously seen in the output of "show babel running-config". Besides
that, the following commands were renamed for consistency with the
syntax of other components:
"debug *" to "debug babel *" (and moved to top level)
"show babel running-config" to "show babel parameters"
* babel_interface.c
  * show_babel_running_config(): rename to show_babel_parameters(),
    update syntax pattern, don't call show_babeld_configuration()
  * babel_if_init(): update respectively
  * babel_enable_if_config_write(): new VTY helper for static
    babel_enable_if
* babel_interface.h: add extern declaration
* babel_main.c: unset all debug options by default
  * show_babel_main_configuration(): remove debug options decoder
* babel_zebra.c
  * babel_debug(): rename to debug_babel(), update syntax pattern
  * no_babel_debug(): rename to no_debug_babel(), update syntax pattern
  * babelz_zebra_init(): update respectively
  * debug_babel_config_write() new VTY helper for static debug_type
* babel_zebra.h: add extern declaration
* babeld.c
  * babel_config_write(): add the code to output "debug babel *",
    "router babel", "redistribute *" and "network *" statements
  * show_babeld_configuration(): dismiss
* babeld.h: remove extern declaration
* babeld.texi: update for renamed commands
* babeld.conf.sample: idem, add debug statements block
Diffstat (limited to 'babeld/babel_zebra.c')
| -rw-r--r-- | babeld/babel_zebra.c | 53 | 
1 files changed, 45 insertions, 8 deletions
diff --git a/babeld/babel_zebra.c b/babeld/babel_zebra.c index ed6566f7dd..75a1e6a849 100644 --- a/babeld/babel_zebra.c +++ b/babeld/babel_zebra.c @@ -236,10 +236,11 @@ DEFUN (no_babel_redistribute_type,  #ifndef NO_DEBUG  /* [Babel Command] */ -DEFUN (babel_debug, -       babel_debug_cmd, -       "debug (common|kernel|filter|timeout|interface|route|all)", +DEFUN (debug_babel, +       debug_babel_cmd, +       "debug babel (common|kernel|filter|timeout|interface|route|all)",         "Enable debug messages for specific or all part.\n" +       "Babel information\n"         "Common messages (default)\n"         "Kernel messages\n"         "Filter messages\n" @@ -264,11 +265,12 @@ DEFUN (babel_debug,  }  /* [Babel Command] */ -DEFUN (no_babel_debug, -       no_babel_debug_cmd, -       "no debug (common|kernel|filter|timeout|interface|route|all)", +DEFUN (no_debug_babel, +       no_debug_babel_cmd, +       "no debug babel (common|kernel|filter|timeout|interface|route|all)",         NO_STR         "Disable debug messages for specific or all part.\n" +       "Babel information\n"         "Common messages (default)\n"         "Kernel messages\n"         "Filter messages\n" @@ -293,6 +295,39 @@ DEFUN (no_babel_debug,  }  #endif /* NO_DEBUG */ +/* Output "debug" statement lines, if necessary. */ +int +debug_babel_config_write (struct vty * vty) +{ +#ifdef NO_DEBUG +    return 0; +#else +    int i, lines = 0; + +    if (debug == BABEL_DEBUG_ALL) +    { +        vty_out (vty, "debug babel all%s", VTY_NEWLINE); +        lines++; +    } +    else +        for (i = 0; debug_type[i].str != NULL; i++) +            if +            ( +                debug_type[i].type != BABEL_DEBUG_ALL +                && CHECK_FLAG (debug, debug_type[i].type) +            ) +            { +                vty_out (vty, "debug babel %s%s", debug_type[i].str, VTY_NEWLINE); +                lines++; +            } +    if (lines) +    { +        vty_out (vty, "!%s", VTY_NEWLINE); +        lines++; +    } +    return lines; +#endif /* NO_DEBUG */ +}  void babelz_zebra_init(void)  { @@ -313,8 +348,10 @@ void babelz_zebra_init(void)      install_node (&zebra_node, zebra_config_write);      install_element(BABEL_NODE, &babel_redistribute_type_cmd);      install_element(BABEL_NODE, &no_babel_redistribute_type_cmd); -    install_element(BABEL_NODE, &babel_debug_cmd); -    install_element(BABEL_NODE, &no_babel_debug_cmd); +    install_element(ENABLE_NODE, &debug_babel_cmd); +    install_element(ENABLE_NODE, &no_debug_babel_cmd); +    install_element(CONFIG_NODE, &debug_babel_cmd); +    install_element(CONFIG_NODE, &no_debug_babel_cmd);  }  static int  | 
