summaryrefslogtreecommitdiff
path: root/zebra/label_manager.h
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2021-01-08 20:57:25 -0300
committerGitHub <noreply@github.com>2021-01-08 20:57:25 -0300
commitdc70c83afacac24c930b92e9d0c524172918ece2 (patch)
treea43bb92e68138e345d93cf10a339d2493ca9d848 /zebra/label_manager.h
parentebaf5fe92d617eb04dd5d187568c99f34a7f4a1a (diff)
parentcdb2af427ab93cd45f21a6fc55fc19e52d83bc1d (diff)
Merge pull request #7816 from pjdruddy/revert_labelmanager_statics
Revert labelmanager statics
Diffstat (limited to 'zebra/label_manager.h')
-rw-r--r--zebra/label_manager.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/zebra/label_manager.h b/zebra/label_manager.h
index 094155f714..8636c79219 100644
--- a/zebra/label_manager.h
+++ b/zebra/label_manager.h
@@ -94,6 +94,12 @@ int lm_client_connect_response(uint8_t proto, uint16_t instance,
int lm_get_chunk_response(struct label_manager_chunk *lmc, struct zserv *client,
vrf_id_t vrf_id);
+/* convenience function to allocate an lmc to be consumed by the above API */
+struct label_manager_chunk *
+create_label_chunk(uint8_t proto, unsigned short instance, uint32_t session_id,
+ uint8_t keep, uint32_t start, uint32_t end);
+void delete_label_chunk(void *val);
+
/* register/unregister callbacks for hooks */
void lm_hooks_register(void);
void lm_hooks_unregister(void);
@@ -107,6 +113,11 @@ struct label_manager {
};
void label_manager_init(void);
+struct label_manager_chunk *
+assign_label_chunk(uint8_t proto, unsigned short instance, uint32_t session_id,
+ uint8_t keep, uint32_t size, uint32_t base);
+int release_label_chunk(uint8_t proto, unsigned short instance,
+ uint32_t session_id, uint32_t start, uint32_t end);
int lm_client_disconnect_cb(struct zserv *client);
int release_daemon_label_chunks(struct zserv *client);
void label_manager_close(void);