diff options
author | Emanuele Di Pascale <emanuele@voltanet.io> | 2019-06-12 16:33:12 +0200 |
---|---|---|
committer | Emanuele Di Pascale <emanuele@voltanet.io> | 2019-07-10 15:20:27 +0200 |
commit | 0e3b6a926a98a028fa9ed8a8a1d00b429f547c03 (patch) | |
tree | 4a58e7bb2e5fe257dd998d7198b1f974c200edd7 /zebra/label_manager.h | |
parent | Merge pull request #4654 from manuhalo/fix_bgp_lbp_warn (diff) | |
download | frr-0e3b6a926a98a028fa9ed8a8a1d00b429f547c03.tar.xz frr-0e3b6a926a98a028fa9ed8a8a1d00b429f547c03.zip |
lib, zebra: support label chunk requests for SRGB
For SRGB, we need to support chunk requests starting at a
specific point in the label space, rather than just asking
for any sufficiently large chunk. To this purpose, we extend
the label manager api to request a chunk with a base value;
if the base is set to 0, the label manager will behave as it
currently does, i.e. fetching the first free chunk big enough
to satisfy the request.
update all the existing calls to get chunks from the label
manager so that they use MPLS_LABEL_BASE_ANY as the base
for the requested chunk
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
Diffstat (limited to 'zebra/label_manager.h')
-rw-r--r-- | zebra/label_manager.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/zebra/label_manager.h b/zebra/label_manager.h index 3ea89fbfc..f1b7d050c 100644 --- a/zebra/label_manager.h +++ b/zebra/label_manager.h @@ -72,7 +72,8 @@ int zread_relay_label_manager_request(int cmd, struct zserv *zserv, void label_manager_init(char *lm_zserv_path); struct label_manager_chunk *assign_label_chunk(uint8_t proto, unsigned short instance, - uint8_t keep, uint32_t size); + uint8_t keep, uint32_t size, + uint32_t base); int release_label_chunk(uint8_t proto, unsigned short instance, uint32_t start, uint32_t end); int release_daemon_label_chunks(struct zserv *client); |