diff --git a/vtysh/extract.pl.in b/vtysh/extract.pl.in index 7c5dec9a54..a2422266a7 100755 --- a/vtysh/extract.pl.in +++ b/vtysh/extract.pl.in @@ -65,6 +65,7 @@ $ignore{'"address-family encapv6"'} = "ignore"; $ignore{'"address-family vpnv6"'} = "ignore"; $ignore{'"address-family vpnv6 unicast"'} = "ignore"; $ignore{'"exit-address-family"'} = "ignore"; +$ignore{'"exit-link-params"'} = "ignore"; $ignore{'"vnc defaults"'} = "ignore"; $ignore{'"vnc nve-group NAME"'} = "ignore"; $ignore{'"exit-vnc"'} = "ignore"; diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index 17dd58a4a8..6c00058c18 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -1976,6 +1976,17 @@ DEFUNSH (VTYSH_ZEBRA, return CMD_SUCCESS; } +DEFUNSH (VTYSH_ZEBRA, + exit_link_params, + exit_link_params_cmd, + "exit-link-params", + "Exit from Link Params configuration node\n") +{ + if (vty->node == LINK_PARAMS_NODE) + vty->node = INTERFACE_NODE; + return CMD_SUCCESS; +} + /* Memory */ DEFUN (vtysh_show_memory, vtysh_show_memory_cmd, @@ -3288,6 +3299,7 @@ vtysh_init_vty (void) install_element (INTERFACE_NODE, &no_interface_desc_cmd); install_element (INTERFACE_NODE, &vtysh_end_all_cmd); install_element (INTERFACE_NODE, &vtysh_exit_interface_cmd); + install_element (LINK_PARAMS_NODE, &exit_link_params_cmd); install_element (LINK_PARAMS_NODE, &vtysh_end_all_cmd); install_element (LINK_PARAMS_NODE, &vtysh_exit_interface_cmd); install_element (INTERFACE_NODE, &vtysh_quit_interface_cmd); diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c index f757e6d02c..e60e9c091f 100644 --- a/vtysh/vtysh_config.c +++ b/vtysh/vtysh_config.c @@ -177,7 +177,7 @@ vtysh_config_parse_line (const char *line) config->index = LINK_PARAMS_NODE; } else if (config->index == LINK_PARAMS_NODE && - strncmp (line, " exit", strlen (" exit")) == 0) + strncmp (line, " exit-link-params", strlen (" exit")) == 0) { config_add_line (config->line, line); config->index = INTERFACE_NODE; diff --git a/zebra/interface.c b/zebra/interface.c index 31955b1fca..b87f61f920 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -1773,6 +1773,16 @@ DEFUN (link_params, return CMD_SUCCESS; } +DEFUN (exit_link_params, + exit_link_params_cmd, + "exit-link-params", + "Exit from Link Params configuration mode\n") +{ + if (vty->node == LINK_PARAMS_NODE) + vty->node = INTERFACE_NODE; + return CMD_SUCCESS; +} + /* Specific Traffic Engineering parameters commands */ DEFUN (link_params_enable, link_params_enable_cmd, @@ -2814,7 +2824,7 @@ link_params_config_write (struct vty *vty, struct interface *ifp) if (IS_PARAM_SET(iflp, LP_RMT_AS)) vty_out(vty, " neighbor %s as %u%s", inet_ntoa(iflp->rmt_ip), iflp->rmt_as, VTY_NEWLINE); - vty_out(vty, " exit%s", VTY_NEWLINE); + vty_out(vty, " exit-link-params%s", VTY_NEWLINE); return 0; } @@ -2995,6 +3005,7 @@ zebra_if_init (void) install_element(LINK_PARAMS_NODE, &no_link_params_res_bw_cmd); install_element(LINK_PARAMS_NODE, &link_params_use_bw_cmd); install_element(LINK_PARAMS_NODE, &no_link_params_use_bw_cmd); + install_element(LINK_PARAMS_NODE, &exit_link_params_cmd); install_element (CONFIG_NODE, &zebra_vrf_cmd); install_element (CONFIG_NODE, &no_vrf_cmd);