CSIT-1201 Create L2patch perf tests
[csit.git] / resources / libraries / python / L2Util.py
index 7954193..2acb6db 100644 (file)
@@ -132,7 +132,6 @@ class L2Util(object):
         :type sw_if_index: int
         :type bd_id: int
         :type shg: int
-        :returns: None
         """
         VatExecutor.cmd_from_template(node, "l2_bd_add_sw_if_index.vat",
                                       bd_id=bd_id, sw_if_index=sw_if_index,
@@ -217,6 +216,36 @@ class L2Util(object):
                                                     interface1=sw_iface2,
                                                     interface2=sw_iface1)
 
+    @staticmethod
+    def vpp_setup_bidirectional_l2_patch(node, interface1, interface2):
+        """Create bidirectional l2 patch between 2 interfaces on vpp node.
+
+        :param node: Node to add bidirectional l2 patch.
+        :param interface1: First interface name or sw_if_index.
+        :param interface2: Second interface name or sw_if_index.
+        :type node: dict
+        :type interface1: str or int
+        :type interface2: str or int
+        """
+
+        if isinstance(interface1, basestring):
+            sw_iface1 = Topology().get_interface_sw_index(node, interface1)
+        else:
+            sw_iface1 = interface1
+
+        if isinstance(interface2, basestring):
+            sw_iface2 = Topology().get_interface_sw_index(node, interface2)
+        else:
+            sw_iface2 = interface2
+
+        with VatTerminal(node) as vat:
+            vat.vat_terminal_exec_cmd_from_template('l2_patch.vat',
+                                                    interface1=sw_iface1,
+                                                    interface2=sw_iface2)
+            vat.vat_terminal_exec_cmd_from_template('l2_patch.vat',
+                                                    interface1=sw_iface2,
+                                                    interface2=sw_iface1)
+
     @staticmethod
     def linux_add_bridge(node, br_name, if_1, if_2, set_up=True):
         """Bridge two interfaces on linux node.