summaryrefslogtreecommitdiffstats
path: root/zebra/zebra_srv6.h
diff options
context:
space:
mode:
authorCarmine Scarpitta <cscarpit@cisco.com>2024-03-23 15:50:24 +0100
committerCarmine Scarpitta <cscarpit@cisco.com>2024-06-13 14:54:16 +0200
commitf8da4a29e58ec301c72a17f238686a59b62edef0 (patch)
tree55371610c5dcf4f4945ae125b49e454760eb6241 /zebra/zebra_srv6.h
parentlib: Add missing info to locator encode/decode (diff)
downloadfrr-f8da4a29e58ec301c72a17f238686a59b62edef0.tar.xz
frr-f8da4a29e58ec301c72a17f238686a59b62edef0.zip
zebra: Repond to `GET_LOCATOR` ZAPI request
The previous commits introduced a new operation, `ZEBRA_SRV6_MANAGER_GET_LOCATOR`, allowing a daemon to request information about a specific SRv6 locator from the SRv6 SID Manager. This commit extends the SID Manager to respond to a `ZEBRA_SRV6_MANAGER_GET_LOCATOR` request and provide the requested locator information. Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Diffstat (limited to '')
-rw-r--r--zebra/zebra_srv6.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/zebra/zebra_srv6.h b/zebra/zebra_srv6.h
index ad1009257..681789e4a 100644
--- a/zebra/zebra_srv6.h
+++ b/zebra/zebra_srv6.h
@@ -231,6 +231,10 @@ DECLARE_HOOK(srv6_manager_release_chunk,
vrf_id_t vrf_id),
(client, locator_name, vrf_id));
+DECLARE_HOOK(srv6_manager_get_locator,
+ (struct srv6_locator **locator, struct zserv *client,
+ const char *locator_name),
+ (locator, client, locator_name));
extern void zebra_srv6_locator_add(struct srv6_locator *locator);
extern void zebra_srv6_locator_delete(struct srv6_locator *locator);
@@ -286,6 +290,10 @@ zebra_srv6_sid_alloc(struct zebra_srv6_sid_ctx *ctx, struct in6_addr *sid_value,
extern void zebra_srv6_sid_free(struct zebra_srv6_sid *sid);
extern void delete_zebra_srv6_sid(void *val);
+extern void srv6_manager_get_locator_call(struct srv6_locator **locator,
+ struct zserv *client,
+ const char *locator_name);
+
extern struct zebra_srv6_sid_ctx *zebra_srv6_sid_ctx_alloc(void);
extern void zebra_srv6_sid_ctx_free(struct zebra_srv6_sid_ctx *ctx);
extern void delete_zebra_srv6_sid_ctx(void *val);