diff options
Diffstat (limited to 'resources/libraries/python/TrafficGenerator.py')
-rw-r--r-- | resources/libraries/python/TrafficGenerator.py | 49 |
1 files changed, 14 insertions, 35 deletions
diff --git a/resources/libraries/python/TrafficGenerator.py b/resources/libraries/python/TrafficGenerator.py index 24bec0af6c..2037d49bc2 100644 --- a/resources/libraries/python/TrafficGenerator.py +++ b/resources/libraries/python/TrafficGenerator.py @@ -11,14 +11,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Traffic generator library.""" +"""Performance testing traffic generator library.""" from robot.api import logger from resources.libraries.python.ssh import SSH from resources.libraries.python.topology import NodeType from resources.libraries.python.topology import NodeSubTypeTG -from resources.libraries.python.topology import Topology __all__ = ['TrafficGenerator'] @@ -43,6 +42,8 @@ class TrafficGenerator(object): :return: nothing """ + trex_path = "/opt/trex-core-1.91" + if node['type'] != NodeType.TG: raise Exception('Node type is not a TG') if node['subtype'] == NodeSubTypeTG.TREX: @@ -50,11 +51,14 @@ class TrafficGenerator(object): ssh.connect(node) (ret, stdout, stderr) = ssh.exec_command( - "sh -c 'cd /opt/trex-core-1.88/scripts/ && " - "--bind=igb_uio {0} {1}".format(interface1, interface2)) + "sh -c 'cd {0}/scripts/ && sudo modprobe uio && " + "sudo insmod ./ko/src/igb_uio.ko'"\ + .format(trex_path)) + (ret, stdout, stderr) = ssh.exec_command( - "sh -c 'cd /opt/trex-core-1.88/scripts/ && " - "sudo nohup ./t-rex-64 -i -c 4 --iom 0 > /dev/null 2>&1 &'") + "sh -c 'cd {0}/scripts/ && " + "sudo nohup ./t-rex-64 -i -c 4 --iom 0 > /dev/null 2>&1 &'"\ + .format(trex_path)) @staticmethod def teardown_traffic_generator(node): @@ -101,55 +105,30 @@ class TrafficGenerator(object): ssh = SSH() ssh.connect(node) - tg_port3_src_mac = Topology.get_interface_mac_by_port_key(node, "port3") - _, adj_int = Topology.\ - get_adjacent_node_and_interface_by_key(nodes_info, node, "port3") - tg_port3_dst_mac = adj_int['mac_address'] - - tg_port5_src_mac = Topology.get_interface_mac_by_port_key(node, "port5") - _, adj_int = Topology.\ - get_adjacent_node_and_interface_by_key(nodes_info, node, "port5") - tg_port5_dst_mac = adj_int['mac_address'] - - if node['subtype'] == NodeSubTypeTG.TREX: if traffic_type in ["3-node-xconnect", "3-node-bridge"]: (ret, stdout, stderr) = ssh.exec_command( "sh -c '/tmp/openvpp-testing/resources/tools/t-rex-stateless.py " "-d {0} -r {1}% -s {2} " - "--p1_src_mac 52:00:00:00:00:01 " - "--p1_dst_mac 52:00:00:00:00:02 " "--p1_src_start_ip 10.10.10.1 " "--p1_src_end_ip 10.10.10.254 " "--p1_dst_start_ip 20.20.20.1 " - "--p1_dst_end_ip 20.20.20.254 " - "--p2_src_mac 52:00:00:00:00:02 " - "--p2_dst_mac 52:00:00:00:00:01 " "--p2_src_start_ip 20.20.20.1 " "--p2_src_end_ip 20.20.20.254 " - "--p2_dst_start_ip 10.10.10.1 " - "--p2_dst_end_ip 10.10.10.254'".\ + "--p2_dst_start_ip 10.10.10.1'".\ format(duration, rate, framesize), timeout=int(duration)+60) elif traffic_type in ["3-node-IPv4"]: (ret, stdout, stderr) = ssh.exec_command( "sh -c '/tmp/openvpp-testing/resources/tools/t-rex-stateless.py " "-d {0} -r {1}% -s {2} " - "--p1_src_mac {3} " - "--p1_dst_mac {4} " "--p1_src_start_ip 10.10.10.2 " "--p1_src_end_ip 10.10.10.254 " "--p1_dst_start_ip 20.20.20.2 " - "--p1_dst_end_ip 20.20.20.2 " - "--p2_src_mac {5} " - "--p2_dst_mac {6} " "--p2_src_start_ip 20.20.20.2 " "--p2_src_end_ip 20.20.20.254 " - "--p2_dst_start_ip 10.10.10.2 " - "--p2_dst_end_ip 10.10.10.2'".\ - format(duration, rate, framesize,\ - tg_port3_src_mac, tg_port3_dst_mac,\ - tg_port5_src_mac, tg_port5_dst_mac),\ - timeout=int(duration)+60) + "--p2_dst_start_ip 10.10.10.2'".\ + format(duration, rate, framesize),\ + timeout=int(duration)+60) else: raise NotImplementedError('Unsupported traffic type') |