diff options
| author | Carmine Scarpitta <carmine.scarpitta@uniroma2.it> | 2023-08-04 08:13:14 +0200 | 
|---|---|---|
| committer | Carmine Scarpitta <carmine.scarpitta@uniroma2.it> | 2023-09-11 22:11:50 +0200 | 
| commit | 3a89bbfb999ec2795e13a489d121e6e43958163a (patch) | |
| tree | 17037bdcd902379147c2f80866d138b50a30dbe3 /vtysh | |
| parent | 899ec39ee524cc4943ff03f13654c602f1f91ad8 (diff) | |
vtysh: Add CLI nodes for SRv6
Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
Diffstat (limited to 'vtysh')
| -rw-r--r-- | vtysh/vtysh.c | 68 | 
1 files changed, 68 insertions, 0 deletions
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 */  | 
