vtysh, zebra: Fix link-params to use exit-link-params
Fix the link-params submode to use the 'exit-link-params'
to indicate we are exiting a submode.
Fixup all the relevant bits.
diff --git a/vtysh/extract.pl.in b/vtysh/extract.pl.in
index 924cffe..ca223e5 100755
--- a/vtysh/extract.pl.in
+++ b/vtysh/extract.pl.in
@@ -54,6 +54,10 @@
$ignore{'"address-family encapv4"'} = "ignore";
$ignore{'"address-family encapv6"'} = "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";
$ignore{'"key chain WORD"'} = "ignore";
$ignore{'"key <0-2147483647>"'} = "ignore";
$ignore{'"route-map WORD (deny|permit) <1-65535>"'} = "ignore";
diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c
index a6340cc..5d59062 100644
--- a/vtysh/vtysh.c
+++ b/vtysh/vtysh.c
@@ -1465,6 +1465,17 @@
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,
@@ -2544,6 +2555,7 @@
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 e6d8823..2834ef4 100644
--- a/vtysh/vtysh_config.c
+++ b/vtysh/vtysh_config.c
@@ -190,7 +190,7 @@
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 c5835f4..f8b946f 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -1625,6 +1625,16 @@
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,
@@ -2636,7 +2646,7 @@
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;
}
@@ -2803,4 +2813,5 @@
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);
}