]> git.puffer.fish Git - mirror/frr.git/commitdiff
isisd: Add func to release an SRv6 locator chunk
authorCarmine Scarpitta <carmine.scarpitta@uniroma2.it>
Thu, 2 Feb 2023 12:04:33 +0000 (13:04 +0100)
committerCarmine Scarpitta <carmine.scarpitta@uniroma2.it>
Mon, 11 Sep 2023 15:34:53 +0000 (17:34 +0200)
Add a function to ask zebra to release a chunk from the SRv6 locator
specified as a parameter.

The chunk to be released must have been allocated by a previous call to
`isis_zebra_srv6_manager_get_locator_chunk()`.

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

index e2c6a5eadc5eb160c928bc2c12dc3d57a4765d85..4c404ddb081d224c0ff45b3ef60b354fb7e78bc9 100644 (file)
@@ -832,6 +832,19 @@ int isis_zebra_srv6_manager_get_locator_chunk(const char *name)
        return srv6_manager_get_locator_chunk(zclient, name);
 }
 
+
+/**
+ * Release an SRv6 locator chunk.
+ *
+ * @param locator_name Name of SRv6 locator
+ *
+ * @result 0 on success, -1 otherwise
+ */
+int isis_zebra_srv6_manager_release_locator_chunk(const char *name)
+{
+       return srv6_manager_release_locator_chunk(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 c32093f9575facec7d6c943c6130176d04760307..94a4666697370e0ba97a07e0261113258b67145b 100644 (file)
@@ -58,5 +58,6 @@ void isis_zebra_vrf_deregister(struct isis *isis);
 int isis_zebra_ls_register(bool up);
 
 extern int isis_zebra_srv6_manager_get_locator_chunk(const char *name);
+extern int isis_zebra_srv6_manager_release_locator_chunk(const char *name);
 
 #endif /* _ZEBRA_ISIS_ZEBRA_H */