diff options
Diffstat (limited to 'scripts/automation/trex_control_plane/client')
3 files changed, 82 insertions, 82 deletions
diff --git a/scripts/automation/trex_control_plane/client/trex_async_client.py b/scripts/automation/trex_control_plane/client/trex_async_client.py index 00304886..459d6915 100644 --- a/scripts/automation/trex_control_plane/client/trex_async_client.py +++ b/scripts/automation/trex_control_plane/client/trex_async_client.py @@ -19,6 +19,7 @@ import re from common.trex_stats import * from common.trex_streams import * +from common.trex_types import * # basic async stats class class CTRexAsyncStats(object): @@ -204,9 +205,9 @@ class CTRexAsyncClient(): time.sleep(0.01) if time.time() > timeout: self.disconnect() - return False, "*** [subscriber] - no data flow from server at : " + self.tr + return RC_ERR("*** [subscriber] - no data flow from server at : " + self.tr) - return True, "" + return RC_OK() # disconnect diff --git a/scripts/automation/trex_control_plane/client/trex_port.py b/scripts/automation/trex_control_plane/client/trex_port.py index 0934313f..54b4945e 100644 --- a/scripts/automation/trex_control_plane/client/trex_port.py +++ b/scripts/automation/trex_control_plane/client/trex_port.py @@ -3,6 +3,22 @@ from collections import namedtuple from common.trex_types import * from common import trex_stats + +########## utlity ############ +def mult_to_factor (mult, max_bps, max_pps, line_util): + if mult['type'] == 'raw': + return mult['value'] + + if mult['type'] == 'bps': + return mult['value'] / max_bps + + if mult['type'] == 'pps': + return mult['value'] / max_pps + + if mult['type'] == 'percentage': + return mult['value'] / line_util + + # describes a single port class Port(object): STATE_DOWN = 0 @@ -53,11 +69,11 @@ class Port(object): command = RpcCmdData("acquire", params) rc = self.transmit(command.method, command.params) - if rc.success: - self.handler = rc.data + if rc.good(): + self.handler = rc.data() return self.ok() else: - return self.err(rc.data) + return self.err(rc.err()) # release the port def release(self): @@ -68,10 +84,10 @@ class Port(object): rc = self.transmit(command.method, command.params) self.handler = None - if rc.success: + if rc.good(): return self.ok() else: - return self.err(rc.data) + return self.err(rc.err()) def is_acquired(self): return (self.handler != None) @@ -91,11 +107,11 @@ class Port(object): command = RpcCmdData("get_port_status", params) rc = self.transmit(command.method, command.params) - if not rc.success: - return self.err(rc.data) + if rc.bad(): + return self.err(rc.err()) # sync the port - port_state = rc.data['state'] + port_state = rc.data()['state'] if port_state == "DOWN": self.state = self.STATE_DOWN @@ -130,10 +146,9 @@ class Port(object): "stream_id": stream_id, "stream": stream_obj} - rc, data = self.transmit("add_stream", params) - if not rc: - r = self.err(data) - print r.good() + rc = self.transmit("add_stream", params) + if rc.bad(): + return self.err(rc.err()) # add the stream self.streams[stream_id] = stream_obj @@ -156,10 +171,11 @@ class Port(object): cmd = RpcCmdData('add_stream', params) batch.append(cmd) - rc, data = self.transmit_batch(batch) + rc = self.transmit_batch(batch) + if rc.bad(): + return self.err(rc.err()) - if not rc: - return self.err(data) + # validate that every action succeeded # add the stream for stream in streams_list: @@ -181,9 +197,9 @@ class Port(object): "stream_id": stream_id} - rc, data = self.transmit("remove_stream", params) - if not rc: - return self.err(data) + rc = self.transmit("remove_stream", params) + if rc.bad(): + return self.err(rc.err()) self.streams[stream_id] = None @@ -197,9 +213,9 @@ class Port(object): params = {"handler": self.handler, "port_id": self.port_id} - rc, data = self.transmit("remove_all_streams", params) - if not rc: - return self.err(data) + rc = self.transmit("remove_all_streams", params) + if rc.bad(): + return self.err(rc.err()) self.streams = {} @@ -233,9 +249,9 @@ class Port(object): "mul": mul, "duration": duration} - rc, data = self.transmit("start_traffic", params) - if not rc: - return self.err(data) + rc = self.transmit("start_traffic", params) + if rc.bad(): + return self.err(rc.err()) self.state = self.STATE_TX @@ -251,9 +267,9 @@ class Port(object): params = {"handler": self.handler, "port_id": self.port_id} - rc, data = self.transmit("stop_traffic", params) - if not rc: - return self.err(data) + rc = self.transmit("stop_traffic", params) + if rc.bad(): + return self.err(rc.err()) # only valid state after stop self.state = self.STATE_STREAMS @@ -268,9 +284,9 @@ class Port(object): params = {"handler": self.handler, "port_id": self.port_id} - rc, data = self.transmit("pause_traffic", params) - if not rc: - return self.err(data) + rc = self.transmit("pause_traffic", params) + if rc.bad(): + return self.err(rc.err()) # only valid state after stop self.state = self.STATE_PAUSE @@ -286,9 +302,9 @@ class Port(object): params = {"handler": self.handler, "port_id": self.port_id} - rc, data = self.transmit("resume_traffic", params) - if not rc: - return self.err(data) + rc = self.transmit("resume_traffic", params) + if rc.bad(): + return self.err(rc.err()) # only valid state after stop self.state = self.STATE_TX @@ -304,9 +320,9 @@ class Port(object): "port_id": self.port_id, "mul": mul} - rc, data = self.transmit("update_traffic", params) - if not rc: - return self.err(data) + rc = self.transmit("update_traffic", params) + if rc.bad(): + return self.err(rc.err()) return self.ok() @@ -322,11 +338,11 @@ class Port(object): params = {"handler": self.handler, "port_id": self.port_id} - rc, data = self.transmit("validate", params) - if not rc: - return self.err(data) + rc = self.transmit("validate", params) + if rc.bad(): + return self.err(rc.err()) - self.profile = data + self.profile = rc.data() return self.ok() @@ -411,3 +427,4 @@ class Port(object): def async_event_forced_acquired (self): self.handler = None + 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 0d52359d..75c1c06f 100755 --- a/scripts/automation/trex_control_plane/client/trex_stateless_client.py +++ b/scripts/automation/trex_control_plane/client/trex_stateless_client.py @@ -26,22 +26,6 @@ from common.trex_types import * from trex_async_client import CTRexAsyncClient -########## utlity ############ -def mult_to_factor (mult, max_bps, max_pps, line_util): - if mult['type'] == 'raw': - return mult['value'] - - if mult['type'] == 'bps': - return mult['value'] / max_bps - - if mult['type'] == 'pps': - return mult['value'] / max_pps - - if mult['type'] == 'percentage': - return mult['value'] / line_util - - - class CTRexStatelessClient(object): """docstring for CTRexStatelessClient""" @@ -317,35 +301,36 @@ class CTRexStatelessClient(object): self.connected = False # connect sync channel - rc, data = self.comm_link.connect() - if not rc: - return RC_ERR(data) + rc = self.comm_link.connect() + if rc.bad(): + return rc # connect async channel - rc, data = self.async_client.connect() - if not rc: - return RC_ERR(data) + rc = self.async_client.connect() + if rc.bad(): + return rc # version - rc, data = self.transmit("get_version") - if not rc: - return RC_ERR(data) + rc = self.transmit("get_version") + if rc.bad(): + return rc - self.server_version = data - self.global_stats.server_version = data + self.server_version = rc.data() + self.global_stats.server_version = rc.data() # cache system info - rc, data = self.transmit("get_system_info") - if not rc: - return RC_ERR(data) - self.system_info = data + rc = self.transmit("get_system_info") + if rc.bad(): + return rc + + self.system_info = rc.data() # cache supported commands - rc, data = self.transmit("get_supported_cmds") - if not rc: - return RC_ERR(data) + rc = self.transmit("get_supported_cmds") + if rc.bad(): + return rc - self.supported_cmds = data + self.supported_cmds = rc.data() # create ports for port_id in xrange(self.get_port_count()): @@ -498,14 +483,12 @@ class CTRexStatelessClient(object): # ping server def ping(self): - rc, info = self.transmit("ping") - return RC(rc, info) + return self.transmit("ping") def get_global_stats(self): - rc, info = self.transmit("get_global_stats") - return RC(rc, info) + return self.transmit("get_global_stats") ########## port commands ############## @@ -705,7 +688,6 @@ class CTRexStatelessClient(object): # reset def cmd_reset(self): - #self.release(self.get_acquired_ports()) rc = self.acquire(force = True) |