zebra: fix link-params CLI handling

vtysh was breaking in a rather ugly way, and some "no" forms were
missing too.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
This commit is contained in:
David Lamparter 2016-11-12 17:43:15 +09:00
parent 11ec76edb2
commit 95c2af68ea
2 changed files with 20 additions and 1 deletions

View File

@ -171,7 +171,18 @@ vtysh_config_parse_line (const char *line)
/* Store line to current configuration. */
if (config)
{
if (config->index == RMAP_NODE ||
if (strncmp (line, " link-params", strlen (" link-params")) == 0)
{
config_add_line (config->line, line);
config->index = LINK_PARAMS_NODE;
}
else if (config->index == LINK_PARAMS_NODE &&
strncmp (line, " exit", strlen (" exit")) == 0)
{
config_add_line (config->line, line);
config->index = INTERFACE_NODE;
}
else if (config->index == RMAP_NODE ||
config->index == INTERFACE_NODE ||
config->index == NS_NODE ||
config->index == VTY_NODE)

View File

@ -2814,6 +2814,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);
return 0;
}
@ -2978,15 +2979,22 @@ zebra_if_init (void)
install_element(LINK_PARAMS_NODE, &link_params_max_rsv_bw_cmd);
install_element(LINK_PARAMS_NODE, &link_params_unrsv_bw_cmd);
install_element(LINK_PARAMS_NODE, &link_params_admin_grp_cmd);
install_element(LINK_PARAMS_NODE, &no_link_params_admin_grp_cmd);
install_element(LINK_PARAMS_NODE, &link_params_inter_as_cmd);
install_element(LINK_PARAMS_NODE, &no_link_params_inter_as_cmd);
install_element(LINK_PARAMS_NODE, &link_params_delay_cmd);
install_element(LINK_PARAMS_NODE, &no_link_params_delay_cmd);
install_element(LINK_PARAMS_NODE, &link_params_delay_mm_cmd);
install_element(LINK_PARAMS_NODE, &link_params_delay_var_cmd);
install_element(LINK_PARAMS_NODE, &no_link_params_delay_var_cmd);
install_element(LINK_PARAMS_NODE, &link_params_pkt_loss_cmd);
install_element(LINK_PARAMS_NODE, &no_link_params_pkt_loss_cmd);
install_element(LINK_PARAMS_NODE, &link_params_ava_bw_cmd);
install_element(LINK_PARAMS_NODE, &no_link_params_ava_bw_cmd);
install_element(LINK_PARAMS_NODE, &link_params_res_bw_cmd);
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 (CONFIG_NODE, &zebra_vrf_cmd);
install_element (CONFIG_NODE, &no_vrf_cmd);