From: Carmine Scarpitta Date: Fri, 4 Aug 2023 06:13:14 +0000 (+0200) Subject: vtysh: Add CLI nodes for SRv6 X-Git-Tag: base_9.1~88^2~7 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=3a89bbfb999ec2795e13a489d121e6e43958163a;p=mirror%2Ffrr.git vtysh: Add CLI nodes for SRv6 Signed-off-by: Carmine Scarpitta --- diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index 8b223d1aa4..113a15c172 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -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 */