-#!/usr/bin/python
+#!/usr/bin/python3
# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
"trex_control_plane/interactive/")
from trex.stl.api import *
-def get_server_system_info():
- """Check server info and quit.
-
- :return: nothing
- """
- # create client
+def main():
+ """Check server info and quit."""
client = STLClient()
-
try:
# connect to server
client.connect()
+
# get server info
print(client.get_server_system_info())
except STLError as ex_error:
- sys.stderr.write(str(ex_error))
+ print(ex_error, file=sys.stderr)
sys.exit(1)
finally:
client.disconnect()
-def main():
- """Main function."""
- get_server_system_info()
-
-
if __name__ == "__main__":
main()
-#!/usr/bin/python
+#!/usr/bin/python3
# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
:return: Formatted and rounded output "min/avg/max"
:rtype: string
"""
-
try:
t_min = int(round(float(lat_min)))
except ValueError:
:type async_start: bool
:type unidirection: bool
"""
-
client = None
total_rcvd = 0
total_sent = 0
stats = client.get_stats()
print("##### Warmup statistics #####")
- print(json.dumps(stats, indent=4, separators=(',', ': '),
- sort_keys=True))
+ print(json.dumps(stats, indent=4, separators=(',', ': ')))
lost_a = stats[port_0]["opackets"] - stats[port_1]["ipackets"]
if not unidirection:
stats = client.get_stats()
print("##### Statistics #####")
- print(json.dumps(stats, indent=4, separators=(',', ': '),
- sort_keys=True))
+ print(json.dumps(stats, indent=4, separators=(',', ': ')))
lost_a = stats[port_0]["opackets"] - stats[port_1]["ipackets"]
if not unidirection:
print("packets lost from {p_1} --> {p_0}: {v} pkts".format(
p_0=port_0, p_1=port_1, v=lost_b))
- except STLError as err:
- sys.stderr.write("{0}\n".format(err))
+ except STLError as ex_error:
+ print(ex_error, file=sys.stderr)
sys.exit(1)
finally:
else:
if client:
client.disconnect()
- if isinstance(rate, unicode):
- rate = rate.encode("utf-8")
- if isinstance(duration, unicode):
- duration = duration.encode("utf-8")
print("rate={0!r}, totalReceived={1}, totalSent={2}, "
"frameLoss={3}, latencyStream0(usec)={4}, "
"latencyStream1(usec)={5}, targetDuration={d!r}".
It verifies the given command line arguments and runs "simple_burst"
function.
"""
-
parser = argparse.ArgumentParser()
parser.add_argument("-p", "--profile",
required=True,
-#!/usr/bin/python
+#!/usr/bin/python3
# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
from trex.stl.api import *
-def stop_all_traffic_streams():
- """Stop traffic if any is running.
-
- :return: nothing
- """
- # create client
+def main():
+ """Stop traffic if any is running."""
client = STLClient()
-
try:
# connect to server
client.connect()
stats = client.get_stats()
print("#####statistics (approx.)#####")
- print(json.dumps(stats, indent=4,
- separators=(',', ': '), sort_keys=True))
+ print(json.dumps(stats, indent=4, separators=(',', ': ')))
lost_a = stats[0]["opackets"] - stats[1]["ipackets"]
lost_b = stats[1]["opackets"] - stats[0]["ipackets"]
print("\npackets lost from 0 --> 1: {0} pkts".format(lost_a))
print("packets lost from 1 --> 0: {0} pkts".format(lost_b))
except STLError as ex_error:
- sys.stderr.write(str(ex_error))
+ print(ex_error, file=sys.stderr)
sys.exit(1)
finally:
client.disconnect()
-
-def main():
- """Main function."""
- stop_all_traffic_streams()
-
-
if __name__ == "__main__":
main()
import struct
from random import choice
-from string import letters
+from string import ascii_letters
from trex.stl.api import *
class TrafficStreamsBaseClass(object):
- """Base class for stream profiles for T-rex traffic generator.
- """
-
+ """Base class for stream profiles for T-rex traffic generator."""
STREAM_TABLE = {
'IMIX_v4': [
{'size': 60, 'pps': 28, 'isg': 0},
}
def __init__(self):
-
# Default value of frame size, it will be overwritten by the value of
# "framesize" parameter of "get_streams" method.
self.framesize = 64
:returns: The generated payload.
:rtype: str
"""
-
payload = ""
for _ in range(length):
- payload += choice(letters)
+ payload += choice(ascii_letters)
return payload
:raises: ValueError if start_ip is greater then end_ip.
:raises: socket.error if the IP addresses are not valid IPv6 addresses.
"""
-
try:
ip1 = socket.inet_pton(socket.AF_INET6, start_ip)
ip2 = socket.inet_pton(socket.AF_INET6, end_ip)
:returns: Traffic streams.
:rtype: list
"""
-
base_pkt_a, base_pkt_b, vm1, vm2 = self.define_packets()
# In most cases you will not have to change the code below:
:returns: Traffic streams.
:rtype: list
"""
-
self.framesize = kwargs['framesize']
return self.create_streams()