Boostrap verify installation directory removal
[csit.git] / resources / libraries / python / InterfaceUtil.py
index aeb54be..58af5aa 100644 (file)
@@ -30,10 +30,10 @@ class InterfaceUtil(object):
         Function can be used for DUTs as well as for TGs.
 
         :param node: node where the interface is
-        :param interface: interface name
+        :param interface: interface name or sw_if_index
         :param state: one of 'up' or 'down'
         :type node: dict
-        :type interface: str
+        :type interface: str or int
         :type state: str
         :return: nothing
         """
@@ -45,11 +45,15 @@ class InterfaceUtil(object):
             else:
                 raise ValueError('Unexpected interface state: {}'.format(state))
 
-            sw_if_index = Topology.get_interface_sw_index(node, interface)
+            if isinstance(interface, basestring):
+                sw_if_index = Topology.get_interface_sw_index(node, interface)
+            else:
+                sw_if_index = interface
+
             VatExecutor.cmd_from_template(node, 'set_if_state.vat',
                                           sw_if_index=sw_if_index, state=state)
 
-        elif node['type'] == NodeType.TG:
+        elif node['type'] == NodeType.TG or node['type'] == NodeType.VM:
             cmd = 'ip link set {} {}'.format(interface, state)
             exec_cmd_no_error(node, cmd, sudo=True)
         else: