summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtools/quagga-reload.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/quagga-reload.py b/tools/quagga-reload.py
index 27fc3830c6..9c0cbb48d6 100755
--- a/tools/quagga-reload.py
+++ b/tools/quagga-reload.py
@@ -567,7 +567,11 @@ def compare_context_objects(newconf, running):
if running_ctx_keys not in newconf.contexts:
# Check if bgp's local ASN has changed. If yes, just restart it
- if "router bgp" in running_ctx_keys[0]:
+ # We check that the len is 1 here so that we only look at ('router bgp 10')
+ # and not ('router bgp 10', 'address-family ipv4 unicast'). The
+ # latter could cause a false restart_bgpd positive if ipv4 unicast is in
+ # running but not in newconf.
+ if "router bgp" in running_ctx_keys[0] and len(running_ctx_keys) == 1:
restart_bgpd = True
continue