]> git.puffer.fish Git - matthieu/frr.git/commitdiff
isisd: Add API to get SRv6 locator info
authorCarmine Scarpitta <cscarpit@cisco.com>
Sat, 23 Mar 2024 18:40:13 +0000 (19:40 +0100)
committerCarmine Scarpitta <cscarpit@cisco.com>
Tue, 18 Jun 2024 16:33:29 +0000 (18:33 +0200)
Add an API to request information from the SRv6 SID Manager (zebra)
regarding a specific SRv6 locator.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
isisd/isis_zebra.c
isisd/isis_zebra.h

index 2412ec5e84c99553321c5d28d7e94e22a1db49cb..f5b3f712be4e3e12a39e1d4f9a593d1458b3ea8f 100644 (file)
@@ -1368,6 +1368,24 @@ int isis_zebra_srv6_manager_release_locator_chunk(const char *name)
        return srv6_manager_release_locator_chunk(zclient, name);
 }
 
+/**
+ * Ask the SRv6 Manager (zebra) about a specific locator
+ *
+ * @param name Locator name
+ * @return 0 on success, -1 otherwise
+ */
+int isis_zebra_srv6_manager_get_locator(const char *name)
+{
+       if (!name)
+               return -1;
+
+       /*
+        * Send the Get Locator request to the SRv6 Manager and return the
+        * result
+        */
+       return srv6_manager_get_locator(zclient, name);
+}
+
 static zclient_handler *const isis_handlers[] = {
        [ZEBRA_ROUTER_ID_UPDATE] = isis_router_id_update_zebra,
        [ZEBRA_INTERFACE_ADDRESS_ADD] = isis_zebra_if_address_add,
index f1684b7c25d40ea1f90a92db18c641192e3bfdc7..bfd23f69f4955a6ac62d543cd61299be05b1c8af 100644 (file)
@@ -68,4 +68,6 @@ void isis_zebra_srv6_adj_sid_uninstall(struct srv6_adjacency *sra);
 extern int isis_zebra_srv6_manager_get_locator_chunk(const char *name);
 extern int isis_zebra_srv6_manager_release_locator_chunk(const char *name);
 
+extern int isis_zebra_srv6_manager_get_locator(const char *name);
+
 #endif /* _ZEBRA_ISIS_ZEBRA_H */