mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 04:26:12 +00:00
zebra: do not accept static label requests conflicting with dynamic-block
A static label allocation should not be accepted if the desired range conflicts with the configured dynamic-block configuration. Do not accept such label requests, only when dynamic blocks are configured. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
This commit is contained in:
parent
3cae026428
commit
d3f686d163
@ -345,6 +345,15 @@ assign_specific_label_chunk(uint8_t proto, unsigned short instance,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if ((lbl_mgr.dynamic_block_start != MPLS_LABEL_UNRESERVED_MIN ||
|
||||
lbl_mgr.dynamic_block_end != MPLS_LABEL_MAX) &&
|
||||
base >= lbl_mgr.dynamic_block_start &&
|
||||
end <= lbl_mgr.dynamic_block_end) {
|
||||
zlog_warn("Invalid LM request arguments: base: %u, size: %u for %s in conflict with the dynamic label block",
|
||||
base, size, zebra_route_string(proto));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Scan the existing chunks to see if the requested range of labels
|
||||
* falls inside any of such chunks */
|
||||
for (ALL_LIST_ELEMENTS_RO(lbl_mgr.lc_list, node, lmc)) {
|
||||
|
Loading…
Reference in New Issue
Block a user