X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=zebra%2Flabel_manager.h;h=3e3def5f98bbf47eaf7a18e11cc6da2a4786c65d;hb=91d227b7e3cb53ad8fdbcd9d4cff7f0a666918e3;hp=b7d6118a0e50088b6eb8fb5b10cfefb87829942c;hpb=4d2d73c281b64d7e83a46f7e698a6e8b15f43615;p=mirror_frr.git diff --git a/zebra/label_manager.h b/zebra/label_manager.h index b7d6118a0..3e3def5f9 100644 --- a/zebra/label_manager.h +++ b/zebra/label_manager.h @@ -29,6 +29,8 @@ #include "lib/linklist.h" #include "lib/thread.h" +#include "zebra/zserv.h" + #define NO_PROTO 0 /* @@ -44,11 +46,11 @@ * the same proto and instance values) */ struct label_manager_chunk { - u_char proto; - u_short instance; - u_char keep; - uint32_t start; /* First label of the chunk */ - uint32_t end; /* Last label of the chunk */ + uint8_t proto; + unsigned short instance; + uint8_t keep; + uint32_t start; /* First label of the chunk */ + uint32_t end; /* Last label of the chunk */ }; /* @@ -61,13 +63,15 @@ struct label_manager { bool lm_is_external; -int zread_relay_label_manager_request(int cmd, struct zserv *zserv, vrf_id_t vrf_id); +int zread_relay_label_manager_request(int cmd, struct zserv *zserv, + struct stream *msg, vrf_id_t vrf_id); void label_manager_init(char *lm_zserv_path); -struct label_manager_chunk *assign_label_chunk(u_char proto, u_short instance, - u_char keep, uint32_t size); -int release_label_chunk(u_char proto, u_short instance, uint32_t start, +struct label_manager_chunk *assign_label_chunk(uint8_t proto, + unsigned short instance, + uint8_t keep, uint32_t size); +int release_label_chunk(uint8_t proto, unsigned short instance, uint32_t start, uint32_t end); -int release_daemon_chunks(u_char proto, u_short instance); +int release_daemon_label_chunks(struct zserv *client); void label_manager_close(void); -#endif /* _LABEL_MANAGER_H */ +#endif /* _LABEL_MANAGER_H */