-# Copyright (c) 2016 Cisco and/or its affiliates.
+# Copyright (c) 2018 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
pass
@abstractmethod
- def set_route(self, network, prefix_length, gateway, interface):
+ def set_route(self, network, prefix_length, gateway, interface, count=1):
"""Configure IPv4 route.
:param network: Network IPv4 address.
:param prefix_length: IPv4 prefix length.
:param gateway: IPv4 address of the gateway.
:param interface: Interface name.
+ :param count: Number of consecutive routes to add.
:type network: str
:type prefix_length: int
:type gateway: str
:type interface: str
+ :type route: int
:returns: nothing
"""
pass
:param interface: Interface name.
:type interface: str
- :return: nothing
+ :returns: nothing
"""
pass
class Tg(IPv4Node):
"""Traffic generator node"""
- def __init__(self, node_info):
- super(Tg, self).__init__(node_info)
+
+ # Implicit constructor is inherited.
def _execute(self, cmd):
"""Executes the specified command on TG using SSH.
interface)
self._sudo_execute(cmd)
- def set_route(self, network, prefix_length, gateway, interface):
+ def set_route(self, network, prefix_length, gateway, interface, count=1):
netmask = self._get_netmask(prefix_length)
cmd = 'route add -net {} netmask {} gw {}'.\
format(network, netmask, gateway)
class Dut(IPv4Node):
"""Device under test"""
- def __init__(self, node_info):
- super(Dut, self).__init__(node_info)
+
+ # Implicit contructor is inherited.
def get_sw_if_index(self, interface):
"""Get sw_if_index of specified interface from current node.
interfaces from topology and use them to setup ARP entries.
:param nodes_info: Dictionary containing information on all nodes
- in topology.
+ in topology.
:param nodes_addr: Nodes IPv4 addresses.
:type nodes_info: dict
:type nodes_addr: dict