summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Walton <dwalton@cumulusnetworks.com>2017-09-08 13:27:23 +0000
committerDaniel Walton <dwalton@cumulusnetworks.com>2017-09-08 13:27:23 +0000
commit7918b33541265ec948a7532b37e248e89a43a935 (patch)
treeecaba3df1373f9a0e4c7b352389f18b2251d1fb9
parentb1eec2516a9b7cca8d85e35e58aad5f896be12eb (diff)
tools: frr-reload.py support for vni under 'address-family l2vpn evpn'
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
-rwxr-xr-xtools/frr-reload.py27
1 files changed, 26 insertions, 1 deletions
diff --git a/tools/frr-reload.py b/tools/frr-reload.py
index 8556f0b46e..8f34b4cb3f 100755
--- a/tools/frr-reload.py
+++ b/tools/frr-reload.py
@@ -320,6 +320,17 @@ end
exit-address-family
!
end
+ address-family evpn
+ neighbor LEAF activate
+ advertise-all-vni
+ vni 10100
+ rd 65000:10100
+ route-target import 10.1.1.1:10100
+ route-target export 10.1.1.1:10100
+ exit-vni
+ exit-address-family
+!
+end
router ospf
ospf router-id 10.0.0.1
log-adjacency-changes detail
@@ -398,7 +409,7 @@ end
ctx_keys = []
current_context_lines = []
- elif line == "exit-address-family" or line == "exit":
+ elif line == "exit-address-family" or line == "exit" or line == "exit-vni":
# if this exit is for address-family ipv4 unicast, ignore the pop
if main_ctx_key:
self.save_contexts(ctx_keys, current_context_lines)
@@ -419,6 +430,17 @@ end
new_ctx = False
log.debug('LINE %-50s: entering new context, %-50s', line, ctx_keys)
+ elif "vni " in line:
+ main_ctx_key = []
+
+ # Save old context first
+ self.save_contexts(ctx_keys, current_context_lines)
+ current_context_lines = []
+ main_ctx_key = copy.deepcopy(ctx_keys)
+ log.debug('LINE %-50s: entering sub-context, append to ctx_keys', line)
+
+ ctx_keys.append(line)
+
elif "address-family " in line:
main_ctx_key = []
@@ -874,6 +896,9 @@ def compare_context_objects(newconf, running):
elif running_ctx_keys and not any("address-family" in key for key in running_ctx_keys):
lines_to_del.append((running_ctx_keys, None))
+ elif running_ctx_keys and not any("vni" in key for key in running_ctx_keys):
+ lines_to_del.append((running_ctx_keys, None))
+
# Global context
else:
for line in running_ctx.lines: