def vpp_nodes_set_ipv4_addresses(nodes, nodes_addr): """Set IPv4 addresses on all VPP nodes in topology. :param nodes: Nodes of the test topology. :param nodes_addr: Available nodes IPv4 addresses. :type nodes: dict :type nodes_addr: dict :returns: 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') if host is None: continue topo = Topology() node = topo.get_node_by_hostname(nodes, host) if node is None: continue if node['type'] != NodeType.DUT: continue iface_key = topo.get_interface_by_name(node, port['if']) get_node(node).set_ip(iface_key, 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. :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') if host is None: continue topo = Topology() node = topo.get_node_by_hostname(nodes, host) if node is None: continue if node['type'] == NodeType.DUT: self.vpp_del_if_ipv6_addr(node, port['if'], port['addr'], net['prefix'])