diff options
Diffstat (limited to 'resources/libraries/python/IPv6Setup.py')
-rw-r--r-- | resources/libraries/python/IPv6Setup.py | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/resources/libraries/python/IPv6Setup.py b/resources/libraries/python/IPv6Setup.py index 12f6de7af9..2c68c338e2 100644 --- a/resources/libraries/python/IPv6Setup.py +++ b/resources/libraries/python/IPv6Setup.py @@ -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,20 @@ 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) + topo = Topology() + 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, @@ -274,11 +276,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): |