Revert "CSIT-986: Use MLRsearch from pip"
[csit.git] / resources / libraries / python / IPv6Setup.py
index 12f6de7..94c95e5 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2016 Cisco and/or its affiliates.
+# Copyright (c) 2018 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -40,9 +40,9 @@ class IPv6Networks(object):
     def next_network(self):
         """Get the next element of the iterator.
 
-        :return: IPv6 network.
+        :returns: IPv6 network.
         :rtype: IPv6Network object
-        :raises: StopIteration if there is no more elements.
+        :raises StopIteration: If there is no more elements.
         """
         if len(self._networks):
             return self._networks.pop()
@@ -63,7 +63,7 @@ class IPv6Setup(object):
         :param nodes_addr: Available nodes IPv6 addresses.
         :type nodes: dict
         :type nodes_addr: dict
-        :return: Affected interfaces as list of (node, interface) tuples.
+        :returns: Affected interfaces as list of (node, interface) tuples.
         :rtype: list
         """
         interfaces = []
@@ -78,7 +78,8 @@ class IPv6Setup(object):
                 if node is None:
                     continue
                 if node['type'] == NodeType.DUT:
-                    self.vpp_set_if_ipv6_addr(node, port['if'], port['addr'],
+                    port_key = topo.get_interface_by_name(node, port['if'])
+                    self.vpp_set_if_ipv6_addr(node, port_key, port['addr'],
                                               net['prefix'])
 
                     interfaces.append((node, port['if']))
@@ -156,19 +157,19 @@ class IPv6Setup(object):
             raise Exception('TG ifconfig failed')
 
     @staticmethod
-    def vpp_set_if_ipv6_addr(node, interface, addr, prefix):
+    def vpp_set_if_ipv6_addr(node, iface_key, addr, prefix):
         """Set IPv6 address on VPP.
 
         :param node: VPP node.
-        :param interface: Node interface.
+        :param iface_key: Node interface key.
         :param addr: IPv6 address.
         :param prefix: IPv6 address prefix.
         :type node: dict
-        :type interface: str
+        :type iface_key: str
         :type addr: str
         :type prefix: str
         """
-        sw_if_index = Topology.get_interface_sw_index(node, interface)
+        sw_if_index = Topology.get_interface_sw_index(node, iface_key)
         with VatTerminal(node) as vat:
             vat.vat_terminal_exec_cmd_from_template('add_ip_address.vat',
                                                     sw_if_index=sw_if_index,
@@ -210,27 +211,6 @@ class IPv6Setup(object):
                                                     sw_if_index=sw_if_index,
                                                     state='admin-down')
 
-
-    @staticmethod
-    def vpp_set_ipv6_neighbor(node, interface, ipaddr, macaddr):
-        """Set IPv6 neighbor.
-
-           :param node: VPP node.
-           :param interface: Interface name.
-           :param ip_address: IPv6 address.
-           :param mac_address: mac address.
-           :type node: dict
-           :type interface: str
-           :type ip_address: str
-           :type mac_address: str
-        """
-        sw_if_index = Topology.get_interface_sw_index(node, interface)
-        VatExecutor.cmd_from_template(node,
-                                      'add_ip_neighbor.vat',
-                                      sw_if_index=sw_if_index,
-                                      ip_address=ipaddr,
-                                      mac_address=macaddr)
-
     @staticmethod
     def vpp_ra_suppress_link_layer(node, interface):
         """Suppress ICMPv6 router advertisement message for link scope address.
@@ -274,11 +254,8 @@ class IPv6Setup(object):
         for node in nodes.values():
             if node['type'] == NodeType.TG:
                 continue
-            for port_k, port_v in node['interfaces'].items():
-                if_name = port_v.get('name')
-                if if_name is None:
-                    continue
-                self.vpp_ra_suppress_link_layer(node, if_name)
+            for port_k in node['interfaces'].keys():
+                self.vpp_ra_suppress_link_layer(node, port_k)
 
     @staticmethod
     def get_link_address(link, nodes_addr):
@@ -288,7 +265,7 @@ class IPv6Setup(object):
         :param nodes_addr: Available nodes IPv6 addresses.
         :type link: str
         :type nodes_addr: dict
-        :return: Link IPv6 address.
+        :returns: Link IPv6 address.
         :rtype: str
         """
         net = nodes_addr.get(link)
@@ -304,7 +281,7 @@ class IPv6Setup(object):
         :param nodes_addr: Available nodes IPv6 addresses.
         :type link: str
         :type nodes_addr: dict
-        :return: Link IPv6 address prefix.
+        :returns: Link IPv6 address prefix.
         :rtype: int
         """
         net = nodes_addr.get(link)