]> git.puffer.fish Git - mirror/frr.git/commitdiff
tools: frr-reload.py support for vni under 'address-family l2vpn evpn' 1143/head
authorDaniel Walton <dwalton@cumulusnetworks.com>
Fri, 8 Sep 2017 13:27:23 +0000 (13:27 +0000)
committerDaniel Walton <dwalton@cumulusnetworks.com>
Fri, 8 Sep 2017 13:27:23 +0000 (13:27 +0000)
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
tools/frr-reload.py

index 8556f0b46e4858273dae854945ea8c62982750a5..8f34b4cb3f0d73e214a66534e72082353848b464 100755 (executable)
@@ -319,6 +319,17 @@ end
  neighbor 2001:10::3 peer-group IBGPv6
  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
@@ -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: