aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/IPv6Setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'resources/libraries/python/IPv6Setup.py')
-rw-r--r--resources/libraries/python/IPv6Setup.py142
1 files changed, 70 insertions, 72 deletions
diff --git a/resources/libraries/python/IPv6Setup.py b/resources/libraries/python/IPv6Setup.py
index 598905735a..c016423f32 100644
--- a/resources/libraries/python/IPv6Setup.py
+++ b/resources/libraries/python/IPv6Setup.py
@@ -13,19 +13,20 @@
"""Library to set up IPv6 in topology."""
-from ssh import SSH
-from ipaddress import IPv6Network
-from topology import NodeType, Topology
-from constants import Constants
-from VatExecutor import VatTerminal, VatExecutor
from robot.api import logger
+from ipaddress import IPv6Network
+
+from resources.libraries.python.ssh import SSH
+from resources.libraries.python.topology import NodeType, Topology
+from resources.libraries.python.constants import Constants
+from resources.libraries.python.VatExecutor import VatTerminal, VatExecutor
class IPv6Networks(object):
"""IPv6 network iterator.
- :param networks: List of the available IPv6 networks.
- :type networks: list
+ :param networks: List of the available IPv6 networks.
+ :type networks: list
"""
def __init__(self, networks):
self._networks = list()
@@ -37,11 +38,11 @@ class IPv6Networks(object):
raise Exception('No IPv6 networks')
def next_network(self):
- """Get the next elemnt of the iterator.
+ """Get the next element of the iterator.
- :return: IPv6 network.
- :rtype: IPv6Network object
- :raises: StopIteration if there is no more elements.
+ :return: IPv6 network.
+ :rtype: IPv6Network object
+ :raises: StopIteration if there is no more elements.
"""
if len(self._networks):
return self._networks.pop()
@@ -58,14 +59,13 @@ class IPv6Setup(object):
def nodes_set_ipv6_addresses(self, nodes, nodes_addr):
"""Set IPv6 addresses on all VPP nodes in topology.
- :param nodes: Nodes of the test topology.
- :param nodes_addr: Available nodes IPv6 adresses.
- :type nodes: dict
- :type nodes_addr: dict
- :return: affected interfaces as list of (node, interface) tuples
- :rtype: list
+ :param nodes: Nodes of the test topology.
+ :param nodes_addr: Available nodes IPv6 addresses.
+ :type nodes: dict
+ :type nodes_addr: dict
+ :return: Affected interfaces as list of (node, interface) tuples.
+ :rtype: list
"""
-
interfaces = []
for net in nodes_addr.values():
@@ -82,16 +82,16 @@ class IPv6Setup(object):
net['prefix'])
interfaces.append((node, port['if']))
-
return interfaces
+
def nodes_clear_ipv6_addresses(self, nodes, nodes_addr):
"""Remove IPv6 addresses from all VPP nodes in topology.
- :param nodes: Nodes of the test topology.
- :param nodes_addr: Available nodes IPv6 adresses.
- :type nodes: dict
- :type nodes_addr: dict
- """
+ :param nodes: Nodes of the test topology.
+ :param nodes_addr: Available nodes IPv6 addresses.
+ :type nodes: dict
+ :type nodes_addr: dict
+ """
for net in nodes_addr.values():
for port in net['ports'].values():
host = port.get('node')
@@ -109,14 +109,14 @@ class IPv6Setup(object):
def linux_set_if_ipv6_addr(node, interface, addr, prefix):
"""Set IPv6 address on linux host.
- :param node: Linux node.
- :param interface: Node interface.
- :param addr: IPv6 address.
- :param prefix: IPv6 address prefix.
- :type node: dict
- :type interface: str
- :type addr: str
- :type prefix: str
+ :param node: Linux node.
+ :param interface: Node interface.
+ :param addr: IPv6 address.
+ :param prefix: IPv6 address prefix.
+ :type node: dict
+ :type interface: str
+ :type addr: str
+ :type prefix: str
"""
ssh = SSH()
ssh.connect(node)
@@ -131,14 +131,14 @@ class IPv6Setup(object):
def linux_del_if_ipv6_addr(node, interface, addr, prefix):
"""Delete IPv6 address on linux host.
- :param node: Linux node.
- :param interface: Node interface.
- :param addr: IPv6 address.
- :param prefix: IPv6 address prefix.
- :type node: dict
- :type interface: str
- :type addr: str
- :type prefix: str
+ :param node: Linux node.
+ :param interface: Node interface.
+ :param addr: IPv6 address.
+ :param prefix: IPv6 address prefix.
+ :type node: dict
+ :type interface: str
+ :type addr: str
+ :type prefix: str
"""
ssh = SSH()
ssh.connect(node)
@@ -159,14 +159,14 @@ class IPv6Setup(object):
def vpp_set_if_ipv6_addr(node, interface, addr, prefix):
"""Set IPv6 address on VPP.
- :param node: VPP node.
- :param interface: Node interface.
- :param addr: IPv6 address.
- :param prefix: IPv6 address prefix.
- :type node: dict
- :type interface: str
- :type addr: str
- :type prefix: str
+ :param node: VPP node.
+ :param interface: Node interface.
+ :param addr: IPv6 address.
+ :param prefix: IPv6 address prefix.
+ :type node: dict
+ :type interface: str
+ :type addr: str
+ :type prefix: str
"""
sw_if_index = Topology.get_interface_sw_index(node, interface)
with VatTerminal(node) as vat:
@@ -191,14 +191,14 @@ class IPv6Setup(object):
def vpp_del_if_ipv6_addr(node, interface, addr, prefix):
"""Delete IPv6 address on VPP.
- :param node: VPP node.
- :param interface: Node interface.
- :param addr: IPv6 address.
- :param prefix: IPv6 address prefix.
- :type node: dict
- :type interface: str
- :type addr: str
- :type prefix: str
+ :param node: VPP node.
+ :param interface: Node interface.
+ :param addr: IPv6 address.
+ :param prefix: IPv6 address prefix.
+ :type node: dict
+ :type interface: str
+ :type addr: str
+ :type prefix: str
"""
sw_if_index = Topology.get_interface_sw_index(node, interface)
with VatTerminal(node) as vat:
@@ -211,13 +211,13 @@ class IPv6Setup(object):
state='admin-down')
@staticmethod
- def vpp_ra_supress_link_layer(node, interface):
- """Supress ICMPv6 router advertisement message for link scope address
+ def vpp_ra_suppress_link_layer(node, interface):
+ """Suppress ICMPv6 router advertisement message for link scope address.
- :param node: VPP node.
- :param interface: Interface name.
- :type node: dict
- :type interface: str
+ :param node: VPP node.
+ :param interface: Interface name.
+ :type node: dict
+ :type interface: str
"""
sw_if_index = Topology.get_interface_sw_index(node, interface)
VatExecutor.cmd_from_template(node,
@@ -225,30 +225,28 @@ class IPv6Setup(object):
sw_if_id=sw_if_index,
param='surpress')
- def vpp_all_ra_supress_link_layer(self, nodes):
- """Supress ICMPv6 router advertisement message for link scope address
- on all VPP nodes in the topology
+ def vpp_all_ra_suppress_link_layer(self, nodes):
+ """Suppress ICMPv6 router advertisement message for link scope address
+ on all VPP nodes in the topology.
- :param nodes: Nodes of the test topology.
- :type nodes: dict
+ :param nodes: Nodes of the test topology.
+ :type nodes: dict
"""
for node in nodes.values():
if node['type'] == NodeType.TG:
continue
for port_k, port_v in node['interfaces'].items():
- if port_k == 'mgmt':
- continue
if_name = port_v.get('name')
if if_name is None:
continue
- self.vpp_ra_supress_link_layer(node, if_name)
+ self.vpp_ra_suppress_link_layer(node, if_name)
@staticmethod
def get_link_address(link, nodes_addr):
"""Get link IPv6 address.
:param link: Link name.
- :param nodes_addr: Available nodes IPv6 adresses.
+ :param nodes_addr: Available nodes IPv6 addresses.
:type link: str
:type nodes_addr: dict
:return: Link IPv6 address.
@@ -264,7 +262,7 @@ class IPv6Setup(object):
"""Get link IPv6 address prefix.
:param link: Link name.
- :param nodes_addr: Available nodes IPv6 adresses.
+ :param nodes_addr: Available nodes IPv6 addresses.
:type link: str
:type nodes_addr: dict
:return: Link IPv6 address prefix.