aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2019-06-06 12:19:59 +0000
committerTibor Frank <tifrank@cisco.com>2019-06-10 07:53:37 +0000
commitdc3efb44b1b30554f2aa46752cf0db119b79ee6c (patch)
treeab994702c1f56c916f0b53ceeb1bb478a2fe0d70 /resources/tools
parente74411c31fe4dbb6abe3849fd40a29ea27929ae6 (diff)
Python3: TRex driver
Change-Id: I25f7598b52c87ec1a2d4c6f22680d5200b583e2c Signed-off-by: Peter Mikus <pmikus@cisco.com>
Diffstat (limited to 'resources/tools')
-rwxr-xr-xresources/tools/trex/trex_server_info.py19
-rwxr-xr-xresources/tools/trex/trex_stateless_profile.py19
-rwxr-xr-xresources/tools/trex/trex_stateless_stop.py22
3 files changed, 15 insertions, 45 deletions
diff --git a/resources/tools/trex/trex_server_info.py b/resources/tools/trex/trex_server_info.py
index da49bfc742..eaab6d794a 100755
--- a/resources/tools/trex/trex_server_info.py
+++ b/resources/tools/trex/trex_server_info.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -32,30 +32,21 @@ sys.path.insert(0, "/opt/trex-core-2.54/scripts/automation/"+\
"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()
diff --git a/resources/tools/trex/trex_stateless_profile.py b/resources/tools/trex/trex_stateless_profile.py
index e77c1365a4..15e2157057 100755
--- a/resources/tools/trex/trex_stateless_profile.py
+++ b/resources/tools/trex/trex_stateless_profile.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -39,7 +39,6 @@ def fmt_latency(lat_min, lat_avg, lat_max):
:return: Formatted and rounded output "min/avg/max"
:rtype: string
"""
-
try:
t_min = int(round(float(lat_min)))
except ValueError:
@@ -96,7 +95,6 @@ def simple_burst(profile_file, duration, framesize, rate, warmup_time, port_0,
:type async_start: bool
:type unidirection: bool
"""
-
client = None
total_rcvd = 0
total_sent = 0
@@ -168,8 +166,7 @@ def simple_burst(profile_file, duration, framesize, rate, warmup_time, port_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:
@@ -201,8 +198,7 @@ def simple_burst(profile_file, duration, framesize, rate, warmup_time, port_0,
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:
@@ -232,8 +228,8 @@ def simple_burst(profile_file, duration, framesize, rate, warmup_time, port_0,
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:
@@ -243,10 +239,6 @@ def simple_burst(profile_file, duration, framesize, rate, warmup_time, port_0,
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}".
@@ -260,7 +252,6 @@ def main():
It verifies the given command line arguments and runs "simple_burst"
function.
"""
-
parser = argparse.ArgumentParser()
parser.add_argument("-p", "--profile",
required=True,
diff --git a/resources/tools/trex/trex_stateless_stop.py b/resources/tools/trex/trex_stateless_stop.py
index 37988e72f4..9ded59a041 100755
--- a/resources/tools/trex/trex_stateless_stop.py
+++ b/resources/tools/trex/trex_stateless_stop.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -33,14 +33,9 @@ sys.path.insert(0, "/opt/trex-core-2.54/scripts/automation/"+\
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()
@@ -52,8 +47,7 @@ def stop_all_traffic_streams():
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"]
@@ -61,16 +55,10 @@ def stop_all_traffic_streams():
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()
d='n655' href='#n655'>655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705