vtysh: Add CLI nodes for SRv6

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
This commit is contained in:
Carmine Scarpitta 2023-08-04 08:13:14 +02:00
parent 899ec39ee5
commit 3a89bbfb99

View File

@ -1189,6 +1189,20 @@ static struct cmd_node isis_flex_algo_node = {
.parent_node = ISIS_NODE,
.prompt = "%s(config-router-flex-algo)# ",
};
static struct cmd_node isis_srv6_node = {
.name = "isis-srv6",
.node = ISIS_SRV6_NODE,
.parent_node = ISIS_NODE,
.prompt = "%s(config-router-srv6)# ",
};
static struct cmd_node isis_srv6_node_msd_node = {
.name = "isis-srv6-node-msd",
.node = ISIS_SRV6_NODE_MSD_NODE,
.parent_node = ISIS_SRV6_NODE,
.prompt = "%s(config-router-srv6-node-msd)# ",
};
#endif /* HAVE_ISISD */
#ifdef HAVE_FABRICD
@ -2117,6 +2131,23 @@ DEFUNSH(VTYSH_ISISD, isis_flex_algo, isis_flex_algo_cmd, "flex-algo (128-255)",
vty->node = ISIS_FLEX_ALGO_NODE;
return CMD_SUCCESS;
}
DEFUNSH(VTYSH_ISISD, isis_srv6_enable, isis_srv6_enable_cmd,
"segment-routing srv6",
SR_STR
"Enable Segment Routing over IPv6 (SRv6)\n")
{
vty->node = ISIS_SRV6_NODE;
return CMD_SUCCESS;
}
DEFUNSH(VTYSH_ISISD, isis_srv6_node_msd, isis_srv6_node_msd_cmd,
"node-msd",
"Segment Routing over IPv6 (SRv6) Maximum SRv6 SID Depths\n")
{
vty->node = ISIS_SRV6_NODE_MSD_NODE;
return CMD_SUCCESS;
}
#endif /* HAVE_ISISD */
#ifdef HAVE_FABRICD
@ -2619,6 +2650,30 @@ DEFUNSH(VTYSH_ISISD, vtysh_quit_isis_flex_algo, vtysh_quit_isis_flex_algo_cmd,
{
return vtysh_exit_isisd(self, vty, argc, argv);
}
DEFUNSH(VTYSH_ISISD, vtysh_exit_isis_srv6_enable, vtysh_exit_isis_srv6_enable_cmd,
"exit", "Exit current mode and down to previous mode\n")
{
return vtysh_exit_isisd(self, vty, argc, argv);
}
DEFUNSH(VTYSH_ISISD, vtysh_quit_isis_srv6_enable, vtysh_quit_isis_srv6_enable_cmd,
"quit", "Exit current mode and down to previous mode\n")
{
return vtysh_exit_isisd(self, vty, argc, argv);
}
DEFUNSH(VTYSH_ISISD, vtysh_exit_isis_srv6_node_msd, vtysh_exit_isis_srv6_node_msd_cmd,
"exit", "Exit current mode and down to previous mode\n")
{
return vtysh_exit(vty);
}
DEFUNSH(VTYSH_ISISD, vtysh_quit_isis_srv6_node_msd, vtysh_quit_isis_srv6_node_msd_cmd,
"quit", "Exit current mode and down to previous mode\n")
{
return vtysh_exit_isisd(self, vty, argc, argv);
}
#endif /* HAVE_ISISD */
#if HAVE_BFDD > 0
@ -4749,6 +4804,19 @@ void vtysh_init_vty(void)
install_element(ISIS_FLEX_ALGO_NODE, &vtysh_exit_isis_flex_algo_cmd);
install_element(ISIS_FLEX_ALGO_NODE, &vtysh_quit_isis_flex_algo_cmd);
install_element(ISIS_FLEX_ALGO_NODE, &vtysh_end_all_cmd);
install_node(&isis_srv6_node);
install_element(ISIS_NODE, &isis_srv6_enable_cmd);
install_element(ISIS_SRV6_NODE, &isis_srv6_node_msd_cmd);
install_element(ISIS_SRV6_NODE, &vtysh_exit_isis_srv6_enable_cmd);
install_element(ISIS_SRV6_NODE, &vtysh_quit_isis_srv6_enable_cmd);
install_element(ISIS_SRV6_NODE, &vtysh_end_all_cmd);
install_node(&isis_srv6_node_msd_node);
install_element(ISIS_SRV6_NODE_MSD_NODE,
&vtysh_exit_isis_srv6_node_msd_cmd);
install_element(ISIS_SRV6_NODE_MSD_NODE,
&vtysh_quit_isis_srv6_node_msd_cmd);
install_element(ISIS_SRV6_NODE_MSD_NODE, &vtysh_end_all_cmd);
#endif /* HAVE_ISISD */
/* fabricd */