zebra: label manager should never return a reserved block

if the requested chunk size was less than 16 then a chunk
within the reserved block would be returned. Make sure that
we never return labels that are below MPLS_LABEL_UNRESERVED_MIN

Signed-off-by: Pat Ruddy <pat@voltanet.io>
This commit is contained in:
Pat Ruddy 2020-12-09 10:23:44 +00:00
parent 331bd0ebad
commit 3c84497943

View File

@ -313,7 +313,7 @@ static struct label_manager_chunk *assign_label_chunk(uint8_t proto,
{ {
struct label_manager_chunk *lmc; struct label_manager_chunk *lmc;
struct listnode *node; struct listnode *node;
uint32_t prev_end = 0; uint32_t prev_end = MPLS_LABEL_UNRESERVED_MIN;
/* handle chunks request with a specific base label */ /* handle chunks request with a specific base label */
if (base != MPLS_LABEL_BASE_ANY) if (base != MPLS_LABEL_BASE_ANY)