ldpd: fix broken label allocation

Once ldpd allocated label 48 for a given FEC, all subsequent requests
for a new label would return the same value (48). The problem is that
we were left shifting an uint32_t value up to 64 times, losing important
information.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
This commit is contained in:
Renato Westphal 2017-09-12 09:46:31 -03:00
parent 953d97fc4a
commit 2a178cdd7c

View File

@ -1693,7 +1693,8 @@ static uint32_t
lde_get_next_label(void)
{
struct label_chunk *label_chunk;
uint32_t i, pos, size;
uint32_t i, size;
uint64_t pos;
uint32_t label = NO_LABEL;
while (current_label_chunk) {