mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-09 15:19:11 +00:00
tools: fix pce-config removal
make sure that the order in which the pcep-related commands are removed by frr-reload.py is the correct one, i.e., pce followed by pce-config followed by pcc. Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
This commit is contained in:
parent
2f1406fc86
commit
0e11b1e2ba
@ -1393,6 +1393,8 @@ def compare_context_objects(newconf, running):
|
|||||||
lines_to_del = []
|
lines_to_del = []
|
||||||
pollist_to_del = []
|
pollist_to_del = []
|
||||||
seglist_to_del = []
|
seglist_to_del = []
|
||||||
|
pceconf_to_del = []
|
||||||
|
pcclist_to_del = []
|
||||||
candidates_to_add = []
|
candidates_to_add = []
|
||||||
delete_bgpd = False
|
delete_bgpd = False
|
||||||
|
|
||||||
@ -1478,9 +1480,8 @@ def compare_context_objects(newconf, running):
|
|||||||
|
|
||||||
# Segment routing and traffic engineering never need to be deleted
|
# Segment routing and traffic engineering never need to be deleted
|
||||||
elif (
|
elif (
|
||||||
len(running_ctx_keys) > 1
|
running_ctx_keys[0].startswith('segment-routing')
|
||||||
and len(running_ctx_keys) < 3
|
and len(running_ctx_keys) < 3
|
||||||
and running_ctx_keys[0].startswith('segment-routing')
|
|
||||||
):
|
):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@ -1510,6 +1511,23 @@ def compare_context_objects(newconf, running):
|
|||||||
):
|
):
|
||||||
pollist_to_del.append((running_ctx_keys, None))
|
pollist_to_del.append((running_ctx_keys, None))
|
||||||
|
|
||||||
|
# pce-config must be deleted after the pce, to be sure we add them
|
||||||
|
# to a separate array that is going to be appended at the end
|
||||||
|
elif (
|
||||||
|
len(running_ctx_keys) >= 4
|
||||||
|
and running_ctx_keys[0].startswith('segment-routing')
|
||||||
|
and running_ctx_keys[3].startswith('pce-config')
|
||||||
|
):
|
||||||
|
pceconf_to_del.append((running_ctx_keys, None))
|
||||||
|
|
||||||
|
# pcc must be deleted after the pce and pce-config too
|
||||||
|
elif (
|
||||||
|
len(running_ctx_keys) >= 4
|
||||||
|
and running_ctx_keys[0].startswith('segment-routing')
|
||||||
|
and running_ctx_keys[3].startswith('pcc')
|
||||||
|
):
|
||||||
|
pcclist_to_del.append((running_ctx_keys, None))
|
||||||
|
|
||||||
# Non-global context
|
# Non-global context
|
||||||
elif running_ctx_keys and not any(
|
elif running_ctx_keys and not any(
|
||||||
"address-family" in key for key in running_ctx_keys
|
"address-family" in key for key in running_ctx_keys
|
||||||
@ -1532,6 +1550,14 @@ def compare_context_objects(newconf, running):
|
|||||||
if len(seglist_to_del) > 0:
|
if len(seglist_to_del) > 0:
|
||||||
lines_to_del.extend(seglist_to_del)
|
lines_to_del.extend(seglist_to_del)
|
||||||
|
|
||||||
|
# if we have some pce list commands to delete, append them to lines_to_del
|
||||||
|
if len(pceconf_to_del) > 0:
|
||||||
|
lines_to_del.extend(pceconf_to_del)
|
||||||
|
|
||||||
|
# if we have some pcc list commands to delete, append them to lines_to_del
|
||||||
|
if len(pcclist_to_del) > 0:
|
||||||
|
lines_to_del.extend(pcclist_to_del)
|
||||||
|
|
||||||
# Find the lines within each context to add
|
# Find the lines within each context to add
|
||||||
# Find the lines within each context to del
|
# Find the lines within each context to del
|
||||||
for (newconf_ctx_keys, newconf_ctx) in iteritems(newconf.contexts):
|
for (newconf_ctx_keys, newconf_ctx) in iteritems(newconf.contexts):
|
||||||
|
Loading…
Reference in New Issue
Block a user