FIX: ip scale needs sw_if_index in VAT command 09/20509/3
authorJan Gelety <jgelety@cisco.com>
Tue, 18 Jun 2019 18:38:55 +0000 (20:38 +0200)
committerJan Gelety <jgelety@cisco.com>
Tue, 18 Jun 2019 21:40:35 +0000 (23:40 +0200)
Change-Id: Icb3e22a84af10b98edf83084991b8f2607c95798
Signed-off-by: Jan Gelety <jgelety@cisco.com>
resources/libraries/python/IPUtil.py
resources/templates/vat/vpp_route_add.vat

index 0c4356b..17ba75d 100644 (file)
@@ -154,6 +154,21 @@ class IPUtil(object):
         PapiExecutor.run_cli_cmd(node, 'show ip6 fib')
         PapiExecutor.run_cli_cmd(node, 'show ip6 fib summary')
 
+    @staticmethod
+    def vpp_get_ip_tables_prefix(node, address):
+        """Get dump of all IP FIB tables on a VPP node.
+
+        :param node: VPP node.
+        :type node: dict
+        """
+        ip = ip_address(unicode(address))
+
+        PapiExecutor.run_cli_cmd(
+            node, 'show {ip_ver} fib {addr}/{addr_len}'.format(
+                ip_ver='ip6' if ip.version == 6 else 'ip',
+                addr=ip,
+                addr_len=ip.max_prefixlen))
+
     @staticmethod
     def get_interface_vrf_table(node, interface, ip_version='ipv4'):
         """Get vrf ID for the given interface.
@@ -549,7 +564,7 @@ class IPUtil(object):
 
         if count > 100:
             gateway = kwargs.get("gateway", '')
-
+            interface = kwargs.get("interface", '')
             vrf = kwargs.get("vrf", None)
             multipath = kwargs.get("multipath", False)
 
@@ -559,6 +574,9 @@ class IPUtil(object):
                     network=network,
                     prefix_length=prefix_len,
                     via='via {}'.format(gateway) if gateway else '',
+                    sw_if_index='sw_if_index {}'.format(
+                        InterfaceUtil.get_interface_index(node, interface))
+                    if interface else '',
                     vrf='vrf {}'.format(vrf) if vrf else '',
                     count='count {}'.format(count) if count else '',
                     multipath='multipath' if multipath else '')
index b288c6b..73bb5ac 100644 (file)
@@ -1 +1 @@
-ip_route_add_del {network}/{prefix_length} {vrf} {count} {multipath} {via}
\ No newline at end of file
+ip_route_add_del {network}/{prefix_length} {vrf} {count} {multipath} {via} {sw_if_index}
\ No newline at end of file

©2016 FD.io a Linux Foundation Collaborative Project. All Rights Reserved.
Linux Foundation is a registered trademark of The Linux Foundation. Linux is a registered trademark of Linus Torvalds.
Please see our privacy policy and terms of use.