X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FIPv6Setup.py;h=598905735a5ad0894a8a02af6d165b1cb30d7377;hb=8120dcdc84da7ff1dee097240bc1ecf18914397c;hp=86c8876e89e890ab540ec198bf7254094d888d51;hpb=afe018f552088c2bafbbf3e2e9bd7734db70e283;p=csit.git diff --git a/resources/libraries/python/IPv6Setup.py b/resources/libraries/python/IPv6Setup.py index 86c8876e89..598905735a 100644 --- a/resources/libraries/python/IPv6Setup.py +++ b/resources/libraries/python/IPv6Setup.py @@ -55,14 +55,19 @@ class IPv6Setup(object): def __init__(self): pass - def nodes_setup_ipv6_addresses(self, nodes, nodes_addr): - """Setup IPv6 addresses on all VPP nodes in topology. + 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 """ + + interfaces = [] + for net in nodes_addr.values(): for port in net['ports'].values(): host = port.get('node') @@ -76,6 +81,9 @@ class IPv6Setup(object): self.vpp_set_if_ipv6_addr(node, port['if'], port['addr'], 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. @@ -161,15 +169,14 @@ class IPv6Setup(object): :type prefix: str """ sw_if_index = Topology.get_interface_sw_index(node, interface) - vat = VatTerminal(node) - vat.vat_terminal_exec_cmd_from_template('add_ip_address.vat', - sw_if_index=sw_if_index, - address=addr, - prefix_length=prefix) - vat.vat_terminal_exec_cmd_from_template('set_if_state.vat', - sw_if_index=sw_if_index, - state='admin-up') - vat.vat_terminal_close() + with VatTerminal(node) as vat: + vat.vat_terminal_exec_cmd_from_template('add_ip_address.vat', + sw_if_index=sw_if_index, + address=addr, + prefix_length=prefix) + vat.vat_terminal_exec_cmd_from_template('set_if_state.vat', + sw_if_index=sw_if_index, + state='admin-up') ssh = SSH() ssh.connect(node) @@ -194,15 +201,14 @@ class IPv6Setup(object): :type prefix: str """ sw_if_index = Topology.get_interface_sw_index(node, interface) - vat = VatTerminal(node) - vat.vat_terminal_exec_cmd_from_template('del_ip_address.vat', - sw_if_index=sw_if_index, - address=addr, - prefix_length=prefix) - vat.vat_terminal_exec_cmd_from_template('set_if_state.vat', - sw_if_index=sw_if_index, - state='admin-down') - vat.vat_terminal_close() + with VatTerminal(node) as vat: + vat.vat_terminal_exec_cmd_from_template('del_ip_address.vat', + sw_if_index=sw_if_index, + address=addr, + prefix_length=prefix) + vat.vat_terminal_exec_cmd_from_template('set_if_state.vat', + sw_if_index=sw_if_index, + state='admin-down') @staticmethod def vpp_ra_supress_link_layer(node, interface):