summaryrefslogtreecommitdiffstats
path: root/ldpd
diff options
context:
space:
mode:
authorEmanuele Di Pascale <emanuele@voltanet.io>2019-06-12 16:33:12 +0200
committerEmanuele Di Pascale <emanuele@voltanet.io>2019-07-10 15:20:27 +0200
commit0e3b6a926a98a028fa9ed8a8a1d00b429f547c03 (patch)
tree4a58e7bb2e5fe257dd998d7198b1f974c200edd7 /ldpd
parentMerge pull request #4654 from manuhalo/fix_bgp_lbp_warn (diff)
downloadfrr-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 'ldpd')
-rw-r--r--ldpd/lde.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ldpd/lde.c b/ldpd/lde.c
index 2aa96546e..0ddf4f07d 100644
--- a/ldpd/lde.c
+++ b/ldpd/lde.c
@@ -1660,7 +1660,8 @@ lde_get_label_chunk(void)
uint32_t start, end;
debug_labels("getting label chunk (size %u)", CHUNK_SIZE);
- ret = lm_get_label_chunk(zclient_sync, 0, CHUNK_SIZE, &start, &end);
+ ret = lm_get_label_chunk(zclient_sync, 0, MPLS_LABEL_BASE_ANY,
+ CHUNK_SIZE, &start, &end);
if (ret < 0) {
log_warnx("Error getting label chunk!");
return -1;