summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorimarom <imarom@cisco.com>2015-11-15 18:15:14 +0200
committerimarom <imarom@cisco.com>2015-11-15 18:15:14 +0200
commit94b1238942da24e47fb3e689bf695e815a604eb0 (patch)
tree89617a1f037856c42963d5621f613fc4e26a1eb9 /scripts
parent56becbc13bc2edc1fe60afb6d788357a70147a43 (diff)
added duration to the RPC server (and all the way to the DP)
*STILL NEEDS FIXING THE DP STOP SCHED MESSAGE"
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/automation/trex_control_plane/client/trex_stateless_client.py15
-rwxr-xr-xscripts/automation/trex_control_plane/console/parsing_opts.py7
2 files changed, 13 insertions, 9 deletions
diff --git a/scripts/automation/trex_control_plane/client/trex_stateless_client.py b/scripts/automation/trex_control_plane/client/trex_stateless_client.py
index 443466b2..4478ed3f 100755
--- a/scripts/automation/trex_control_plane/client/trex_stateless_client.py
+++ b/scripts/automation/trex_control_plane/client/trex_stateless_client.py
@@ -280,7 +280,7 @@ class Port:
return self.ok()
# start traffic
- def start (self, mul):
+ def start (self, mul, duration):
if self.state == self.STATE_DOWN:
return self.err("Unable to start traffic - port is down")
@@ -292,7 +292,8 @@ class Port:
params = {"handler": self.handler,
"port_id": self.port_id,
- "mul": mul}
+ "mul": mul,
+ "duration": duration}
rc, data = self.transmit("start_traffic", params)
if not rc:
@@ -580,14 +581,14 @@ class CTRexStatelessClient(object):
return self.ports[port_id].get_stream_id_list()
- def start_traffic (self, multiplier, port_id_list = None):
+ def start_traffic (self, multiplier, duration, port_id_list = None):
port_id_list = self.__ports(port_id_list)
rc = RC()
for port_id in port_id_list:
- rc.add(self.ports[port_id].start(multiplier))
+ rc.add(self.ports[port_id].start(multiplier, duration))
return rc
@@ -685,7 +686,7 @@ class CTRexStatelessClient(object):
return RC_OK()
# start cmd
- def cmd_start (self, port_id_list, stream_list, mult, force):
+ def cmd_start (self, port_id_list, stream_list, mult, force, duration):
active_ports = list(set(self.get_active_ports()).intersection(port_id_list))
@@ -713,7 +714,7 @@ class CTRexStatelessClient(object):
# finally, start the traffic
- rc = self.start_traffic(mult, port_id_list)
+ rc = self.start_traffic(mult, duration, port_id_list)
rc.annotate("Starting traffic on port(s) {0}:".format(port_id_list))
if rc.bad():
return rc
@@ -754,7 +755,7 @@ class CTRexStatelessClient(object):
return RC_ERR("Failed to load stream pack")
- return self.cmd_start(opts.ports, stream_list, opts.mult, opts.force)
+ return self.cmd_start(opts.ports, stream_list, opts.mult, opts.force, opts.duration)
def cmd_stop_line (self, line):
'''Stop active traffic in specified ports on TRex\n'''
diff --git a/scripts/automation/trex_control_plane/console/parsing_opts.py b/scripts/automation/trex_control_plane/console/parsing_opts.py
index c154ce24..d5c21af0 100755
--- a/scripts/automation/trex_control_plane/console/parsing_opts.py
+++ b/scripts/automation/trex_control_plane/console/parsing_opts.py
@@ -89,10 +89,13 @@ OPTIONS_DB = {MULTIPLIER: ArgumentPack(['-m', '--multiplier'],
"dest": "all_ports",
'help': "Set this flag to apply the command on all available ports"}),
DURATION: ArgumentPack(['-d'],
- {"action": "store",
+ {'action': "store",
'metavar': 'TIME',
- "type": match_time_unit,
+ 'dest': 'duration',
+ 'type': match_time_unit,
+ 'default': -1.0,
'help': "Set duration time for TRex."}),
+
FORCE: ArgumentPack(['--force'],
{"action": "store_true",
'default': False,