summaryrefslogtreecommitdiffstats
path: root/tools/frr-reload.py
diff options
context:
space:
mode:
authorEmanuele Di Pascale <emanuele@voltanet.io>2021-03-29 20:18:42 +0200
committerEmanuele Di Pascale <emanuele@voltanet.io>2021-04-01 10:35:57 +0200
commit5ad4633333d2522e157f1e5c53b01ba11866c2f9 (patch)
treecc3fc496e95b1128b5d60eacbf97a66537ae6251 /tools/frr-reload.py
parentMerge pull request #8345 from dslicenc/frr-reload-vrf-static (diff)
downloadfrr-5ad4633333d2522e157f1e5c53b01ba11866c2f9.tar.xz
frr-5ad4633333d2522e157f1e5c53b01ba11866c2f9.zip
tools: do in-place SRGB/SRLB changes
avoid issuing a [no] command if we are then issuing the affirmative one. This avoids spurious requests for the default label ranges, which might fail if something else is using those labels. Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
Diffstat (limited to 'tools/frr-reload.py')
-rwxr-xr-xtools/frr-reload.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/frr-reload.py b/tools/frr-reload.py
index cfc745d43..f4b832691 100755
--- a/tools/frr-reload.py
+++ b/tools/frr-reload.py
@@ -1115,6 +1115,16 @@ def ignore_delete_re_add_lines(lines_to_add, lines_to_del):
for (ctx_keys, line) in lines_to_del:
deleted = False
+ # If there is a change in the segment routing block ranges, do it
+ # in-place, to avoid requesting spurious label chunks which might fail
+ if line and "segment-routing global-block" in line:
+ for (add_key, add_line) in lines_to_add:
+ if ctx_keys[0] == add_key[0] and add_line and "segment-routing global-block" in add_line:
+ lines_to_del_to_del.append((ctx_keys, line))
+ break
+ continue
+
+
if ctx_keys[0].startswith("router bgp") and line:
if line.startswith("neighbor "):