Interface VxLAN test
[csit.git] / resources / libraries / python / InterfaceUtil.py
index ec2ef69..35194f2 100644 (file)
@@ -493,6 +493,32 @@ class InterfaceUtil(object):
             raise RuntimeError('Unable to create VXLAN interface on node {}'
                                .format(node))
 
+    @staticmethod
+    def vxlan_dump(node, interface):
+        """Get VxLAN data for the given interface.
+
+        :param node: VPP node to get interface data from.
+        :param interface: Numeric index or name string of a specific interface.
+        :type node: dict
+        :type interface: int or str
+        :return: Dictionary containing data for the given VxLAN.
+        :rtype dict
+        """
+
+        if isinstance(interface, basestring):
+            sw_if_index = Topology.get_interface_sw_index(node, interface)
+        else:
+            sw_if_index = interface
+
+        with VatTerminal(node) as vat:
+            response = vat.vat_terminal_exec_cmd_from_template(
+                "vxlan_dump.vat", sw_if_index=sw_if_index)
+
+        for vxlan in response[0]:
+            if vxlan["sw_if_index"] == sw_if_index:
+                return vxlan
+        return {}
+
     @staticmethod
     def create_subinterface(node, interface, sub_id, outer_vlan_id,
                             inner_vlan_id, type_subif):