diff options
author | Stefan Kobza <skobza@cisco.com> | 2016-02-12 15:28:57 +0100 |
---|---|---|
committer | Stefan Kobza <skobza@cisco.com> | 2016-02-12 15:28:57 +0100 |
commit | e6cb3709bd670738471fff40ce13dcb5aff8692f (patch) | |
tree | 7e98c310b61f3396688d127f2fda6888cc1d9521 /resources/libraries/python/IPv6Setup.py | |
parent | b92a827b1c7f48da4214e992e5503ebe1c182416 (diff) |
Last bulk update of CSIT.
Change-Id: I815e4d54e74a49fd19a9927554ce5c37a2719f7e
Signed-off-by: Stefan Kobza <skobza@cisco.com>
Diffstat (limited to 'resources/libraries/python/IPv6Setup.py')
-rw-r--r-- | resources/libraries/python/IPv6Setup.py | 61 |
1 files changed, 26 insertions, 35 deletions
diff --git a/resources/libraries/python/IPv6Setup.py b/resources/libraries/python/IPv6Setup.py index 45a8eba58d..db497757bc 100644 --- a/resources/libraries/python/IPv6Setup.py +++ b/resources/libraries/python/IPv6Setup.py @@ -248,42 +248,33 @@ class IPv6Setup(object): self.vpp_ra_supress_link_layer(node, if_name) @staticmethod - def vpp_ipv6_route_add(node, link, interface, nodes_addr): - """Setup IPv6 route on the VPP node. - - :param node: Node to add route on. - :param link: Route to following link. - :param interface: Route output interface. - :param nodes_addr: Available nodes IPv6 adresses. - :type node: dict - :type link: str - :type interface: str - :type nodes_addr: dict + def get_link_address(link, nodes_addr): + """Get link IPv6 address. + + :param link: Link name. + :param nodes_addr: Available nodes IPv6 adresses. + :type link: str + :type nodes_addr: dict + :return: Link IPv6 address. + :rtype: str """ - ssh = SSH() - ssh.connect(node) - - # Get route destination address from link name net = nodes_addr.get(link) if net is None: - raise ValueError('No network for link "{0}"'.format(link)) - dst_net = '{0}/{1}'.format(net['net_addr'], net['prefix']) + raise ValueError('Link "{0}" address not found'.format(link)) + return net.get('net_addr') - # Get next-hop address - nh_addr = None - for net in nodes_addr.values(): - for port in net['ports'].values(): - if port['if'] == interface and port['node'] == node['host']: - for nh in net['ports'].values(): - if nh['if'] != interface and nh['node'] != node['host']: - nh_addr = nh['addr'] - if nh_addr is None: - raise Exception('next-hop not found') - - cmd_input = 'ip_add_del_route {0} via {1} {2} resolve-attempts 10'. \ - format(dst_net, nh_addr, interface) - (ret_code, _, _) = ssh.exec_command_sudo(Constants.VAT_BIN_NAME, - cmd_input) - if int(ret_code) != 0: - raise Exception("'{0}' failed on {1}".format(cmd_input, - node['host'])) + @staticmethod + def get_link_prefix(link, nodes_addr): + """Get link IPv6 address prefix. + + :param link: Link name. + :param nodes_addr: Available nodes IPv6 adresses. + :type link: str + :type nodes_addr: dict + :return: Link IPv6 address prefix. + :rtype: int + """ + net = nodes_addr.get(link) + if net is None: + raise ValueError('Link "{0}" address not found'.format(link)) + return net.get('prefix') |