]> git.puffer.fish Git - mirror/frr.git/commitdiff
isisd: Add CLI command to configure SRv6 locator
authorCarmine Scarpitta <carmine.scarpitta@uniroma2.it>
Fri, 27 Jan 2023 15:06:51 +0000 (16:06 +0100)
committerCarmine Scarpitta <carmine.scarpitta@uniroma2.it>
Mon, 11 Sep 2023 15:34:57 +0000 (17:34 +0200)
Add a CLI command to configure an SRv6 locator for a specific IS-IS
instance.

Example:

r1# configure
r1(config)# router isis FOO
r1(config-router)# segment-routing srv6
r1(config-router-srv6)# locator loc1

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
isisd/isis_cli.c

index 61b4e64881447742a7bd0a478c0431bed37efad6..70a3501279b681e35c8a5f5305ac481fef7b5347 100644 (file)
@@ -2040,6 +2040,18 @@ void cli_show_isis_prefix_sid_algorithm(struct vty *vty,
 /*
  * XPath: /frr-isisd:isis/instance/segment-routing-srv6/locator
  */
+DEFPY (isis_srv6_locator,
+       isis_srv6_locator_cmd,
+       "[no] locator NAME$loc_name",
+       NO_STR
+       "Specify SRv6 locator\n"
+       "Specify SRv6 locator\n")
+{
+       nb_cli_enqueue_change(vty, "./locator", NB_OP_MODIFY, loc_name);
+
+       return nb_cli_apply_changes(vty, NULL);
+}
+
 void cli_show_isis_srv6_locator(struct vty *vty, const struct lyd_node *dnode,
                                bool show_defaults)
 {
@@ -3864,6 +3876,7 @@ void isis_cli_init(void)
 
        install_element(ISIS_NODE, &isis_srv6_enable_cmd);
        install_element(ISIS_NODE, &no_isis_srv6_enable_cmd);
+       install_element(ISIS_SRV6_NODE, &isis_srv6_locator_cmd);
 
        install_element(INTERFACE_NODE, &isis_passive_cmd);