summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/automation/regression/setups/trex11/config.yaml2
-rwxr-xr-xscripts/automation/trex_control_plane/server/outer_packages.py3
-rwxr-xr-xscripts/automation/trex_control_plane/server/singleton_daemon.py1
-rwxr-xr-xscripts/automation/trex_control_plane/server/trex_launch_thread.py3
-rwxr-xr-xscripts/automation/trex_control_plane/server/trex_server.py43
-rwxr-xr-xscripts/automation/trex_control_plane/server/zmq_monitor_thread.py44
-rw-r--r--scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_ext.py2
-rwxr-xr-xscripts/dpdk_nic_bind.py89
-rwxr-xr-xscripts/dpdk_setup_ports.py30
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_device.sobin95085 -> 25440 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_poll.sobin134770 -> 36716 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_version.sobin37898 -> 10520 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/constants.sobin138758 -> 39880 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/context.sobin143066 -> 38200 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/error.sobin50334 -> 13044 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/message.sobin213231 -> 55776 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/socket.sobin354893 -> 94316 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/utils.sobin90506 -> 24528 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/devices/monitoredqueue.sobin135659 -> 37524 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/libzmq.so.3bin604489 -> 414996 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_device.sobin109915 -> 34040 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_poll.sobin178363 -> 47312 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_version.sobin38976 -> 11880 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/constants.sobin125944 -> 48136 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/context.sobin182970 -> 49288 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/error.sobin54791 -> 16384 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/message.sobin268368 -> 73944 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/socket.sobin432735 -> 114736 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/utils.sobin98904 -> 29592 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/devices/monitoredqueue.sobin147488 -> 43936 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/libzmq.so.3bin3284330 -> 345808 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_device.sobin116272 -> 29248 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_poll.sobin164229 -> 42168 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_version.sobin45734 -> 15376 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/constants.sobin189238 -> 51600 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/context.sobin172716 -> 43888 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/error.sobin63000 -> 19848 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/message.sobin256078 -> 62048 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/socket.sobin472585 -> 105752 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/utils.sobin106936 -> 30048 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/devices/monitoredqueue.sobin157950 -> 39112 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/libzmq.so.3bin3150071 -> 322744 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_device.cpython-34m.sobin97498 -> 24068 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_poll.cpython-34m.sobin139944 -> 32624 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_version.cpython-34m.sobin39265 -> 9340 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/constants.cpython-34m.sobin177989 -> 40588 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/context.cpython-34m.sobin138159 -> 33628 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/error.cpython-34m.sobin49568 -> 12280 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/message.cpython-34m.sobin210926 -> 51204 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/socket.cpython-34m.sobin377409 -> 90224 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/utils.cpython-34m.sobin93525 -> 24532 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/devices/monitoredqueue.cpython-34m.sobin131122 -> 33368 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/libzmq.so.3bin604489 -> 414996 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_device.cpython-34m.sobin129115 -> 29976 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_poll.cpython-34m.sobin185685 -> 39600 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_version.cpython-34m.sobin47906 -> 12520 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/constants.cpython-34m.sobin226114 -> 49064 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/context.cpython-34m.sobin183749 -> 41960 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/error.cpython-34m.sobin62151 -> 16448 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/message.cpython-34m.sobin287478 -> 61688 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/socket.cpython-34m.sobin522913 -> 102512 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/utils.cpython-34m.sobin121602 -> 29336 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/devices/monitoredqueue.cpython-34m.sobin166197 -> 36672 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/libzmq.so.3bin3284330 -> 345808 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_device.cpython-34m.sobin132310 -> 29296 bytes
-rwxr-xr-xscripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_device.cpython-35m-x86_64-linux-gnu.sobin0 -> 33504 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_poll.cpython-34m.sobin190430 -> 42288 bytes
-rwxr-xr-xscripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_poll.cpython-35m-x86_64-linux-gnu.sobin0 -> 46560 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_version.cpython-34m.sobin49496 -> 15472 bytes
-rwxr-xr-xscripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_version.cpython-35m-x86_64-linux-gnu.sobin0 -> 15520 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/constants.cpython-34m.sobin207992 -> 51736 bytes
-rwxr-xr-xscripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/constants.cpython-35m-x86_64-linux-gnu.sobin0 -> 52136 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/context.cpython-34m.sobin194763 -> 44016 bytes
-rwxr-xr-xscripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/context.cpython-35m-x86_64-linux-gnu.sobin0 -> 48224 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/error.cpython-34m.sobin65496 -> 19952 bytes
-rwxr-xr-xscripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/error.cpython-35m-x86_64-linux-gnu.sobin0 -> 20032 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/message.cpython-34m.sobin291652 -> 62112 bytes
-rwxr-xr-xscripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/message.cpython-35m-x86_64-linux-gnu.sobin0 -> 66320 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/socket.cpython-34m.sobin534130 -> 105904 bytes
-rwxr-xr-xscripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/socket.cpython-35m-x86_64-linux-gnu.sobin0 -> 97888 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/utils.cpython-34m.sobin121076 -> 30064 bytes
-rwxr-xr-xscripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/utils.cpython-35m-x86_64-linux-gnu.sobin0 -> 30240 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/devices/monitoredqueue.cpython-34m.sobin174423 -> 39216 bytes
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/libzmq.so.3bin3150071 -> 322744 bytes
-rwxr-xr-xscripts/master_daemon.py6
-rwxr-xr-xscripts/trex-cfg5
-rwxr-xr-xscripts/trex_daemon_server3
87 files changed, 129 insertions, 102 deletions
diff --git a/scripts/automation/regression/setups/trex11/config.yaml b/scripts/automation/regression/setups/trex11/config.yaml
index b57b302d..782b7542 100644
--- a/scripts/automation/regression/setups/trex11/config.yaml
+++ b/scripts/automation/regression/setups/trex11/config.yaml
@@ -35,4 +35,4 @@
trex:
hostname : csi-trex-11
cores : 1
- modes : ['loopback', 'virtual']
+ modes : ['loopback', 'VM', 'virt_nics']
diff --git a/scripts/automation/trex_control_plane/server/outer_packages.py b/scripts/automation/trex_control_plane/server/outer_packages.py
index 313a93a6..f49a9925 100755
--- a/scripts/automation/trex_control_plane/server/outer_packages.py
+++ b/scripts/automation/trex_control_plane/server/outer_packages.py
@@ -2,11 +2,12 @@
import sys
import os
+python_ver = 'python%s' % sys.version_info.major
CURRENT_PATH = os.path.dirname(os.path.realpath(__file__))
ROOT_PATH = os.path.abspath(os.path.join(CURRENT_PATH, os.pardir)) # path to trex_control_plane directory
PATH_TO_PYTHON_LIB = os.path.abspath(os.path.join(ROOT_PATH, os.pardir, os.pardir, 'external_libs'))
-PATH_TO_PLATFORM_LIB = os.path.abspath(os.path.join(PATH_TO_PYTHON_LIB, 'pyzmq-14.5.0', 'python2', 'fedora18', '64bit'))
+PATH_TO_PLATFORM_LIB = os.path.abspath(os.path.join(PATH_TO_PYTHON_LIB, 'pyzmq-14.5.0', python_ver , 'fedora18', '64bit'))
SERVER_MODULES = ['enum34-1.0.4',
'zmq',
diff --git a/scripts/automation/trex_control_plane/server/singleton_daemon.py b/scripts/automation/trex_control_plane/server/singleton_daemon.py
index 1784cc42..cd16d173 100755
--- a/scripts/automation/trex_control_plane/server/singleton_daemon.py
+++ b/scripts/automation/trex_control_plane/server/singleton_daemon.py
@@ -140,6 +140,7 @@ class SingletonDaemon(object):
def restart(self, timeout = 15):
if self.is_running():
self.kill(timeout)
+ sleep(0.5)
return self.start(timeout)
diff --git a/scripts/automation/trex_control_plane/server/trex_launch_thread.py b/scripts/automation/trex_control_plane/server/trex_launch_thread.py
index 22606753..f4ee0d6b 100755
--- a/scripts/automation/trex_control_plane/server/trex_launch_thread.py
+++ b/scripts/automation/trex_control_plane/server/trex_launch_thread.py
@@ -33,7 +33,8 @@ class AsynchronousTRexSession(threading.Thread):
try:
with open(self.export_path, 'w') as output_file:
self.time_stamps['start'] = self.time_stamps['run_time'] = time.time()
- self.session = subprocess.Popen(shlex.split(self.cmd), cwd = self.launch_path, stdout = output_file, preexec_fn=os.setsid, close_fds = True)
+ self.session = subprocess.Popen(shlex.split(self.cmd), cwd = self.launch_path, stdout = output_file,
+ stderr = subprocess.STDOUT, preexec_fn=os.setsid, close_fds = True)
logger.info("TRex session initialized successfully, Parent process pid is {pid}.".format( pid = self.session.pid ))
while self.session.poll() is None: # subprocess is NOT finished
time.sleep(0.5)
diff --git a/scripts/automation/trex_control_plane/server/trex_server.py b/scripts/automation/trex_control_plane/server/trex_server.py
index 9fe7d70b..cb2fd495 100755
--- a/scripts/automation/trex_control_plane/server/trex_server.py
+++ b/scripts/automation/trex_control_plane/server/trex_server.py
@@ -109,7 +109,7 @@ class CTRexServer(object):
# initialize the server instance with given resources
register_socket('trex_daemon_server')
try:
- print "Firing up TRex REST daemon @ port {trex_port} ...\n".format( trex_port = self.trex_daemon_port )
+ print("Firing up TRex REST daemon @ port {trex_port} ...\n".format( trex_port = self.trex_daemon_port ))
logger.info("Firing up TRex REST daemon @ port {trex_port} ...".format( trex_port = self.trex_daemon_port ))
logger.info("current working dir is: {0}".format(self.TREX_PATH) )
logger.info("current files dir is : {0}".format(self.trex_files_path) )
@@ -119,7 +119,7 @@ class CTRexServer(object):
except socket.error as e:
if e.errno == errno.EADDRINUSE:
logger.error("TRex server requested address already in use. Aborting server launching.")
- print "TRex server requested address already in use. Aborting server launching."
+ print("TRex server requested address already in use. Aborting server launching.")
raise socket.error(errno.EADDRINUSE, "TRex daemon requested address already in use. "
"Server launch aborted. Please make sure no other process is "
"using the desired server properties.")
@@ -142,6 +142,7 @@ class CTRexServer(object):
self.server.register_function(self.get_running_info)
self.server.register_function(self.get_running_status)
self.server.register_function(self.get_trex_cmds)
+ self.server.register_function(self.get_trex_config)
self.server.register_function(self.get_trex_daemon_log)
self.server.register_function(self.get_trex_log)
self.server.register_function(self.get_trex_version)
@@ -215,6 +216,11 @@ class CTRexServer(object):
logger.info("Processing get_trex_log() command.")
return self._pull_file('/tmp/trex.txt')
+ # get /etc/trex_cfg.yaml
+ def get_trex_config(self):
+ logger.info("Processing get_trex_config() command.")
+ return self._pull_file('/etc/trex_cfg.yaml')
+
# get daemon log /var/log/trex/trex_daemon_server.log
def get_trex_daemon_log (self):
logger.info("Processing get_trex_daemon_log() command.")
@@ -229,11 +235,11 @@ class CTRexServer(object):
search_result = re.search('\n\s*(Version\s*:.+)', stdout, re.DOTALL)
if not search_result:
raise Exception('Could not determine version from ./t-rex-64 --help')
- self.trex_version = binascii.b2a_base64(search_result.group(1))
+ self.trex_version = binascii.b2a_base64(search_result.group(1).encode(errors='replace'))
if base64:
- return self.trex_version
+ return self.trex_version.decode(errors='replace')
else:
- return binascii.a2b_base64(self.trex_version)
+ return binascii.a2b_base64(self.trex_version).decode(errors='replace')
except Exception as e:
err_str = "Can't get trex version, error: %s" % e
logger.error(err_str)
@@ -246,6 +252,14 @@ class CTRexServer(object):
self.stop_trex(self.trex.get_seq())
sys.exit(0)
+ def assert_zmq_ok(self):
+ if self.trex.zmq_error:
+ raise Exception('ZMQ thread got error: %s' % self.trex.zmq_error)
+ if not self.zmq_monitor.is_alive():
+ if self.trex.get_status() != TRexStatus.Idle:
+ self.force_trex_kill()
+ raise Exception('ZMQ thread is dead.')
+
def is_running (self):
run_status = self.trex.get_status()
logger.info("Processing is_running() command. Running status is: {stat}".format(stat = run_status) )
@@ -309,8 +323,8 @@ class CTRexServer(object):
assert(self.__reservation is None)
return False
-
def start_trex(self, trex_cmd_options, user, block_to_success = True, timeout = 40, stateless = False, debug_image = False, trex_args = ''):
+ self.assert_zmq_ok()
with self.start_lock:
logger.info("Processing start_trex() command.")
if self.is_reserved():
@@ -337,6 +351,7 @@ class CTRexServer(object):
break
else:
time.sleep(0.5)
+ self.assert_zmq_ok()
# check for TRex run started normally
if trex_state == TRexStatus.Starting: # reached timeout
@@ -403,12 +418,15 @@ class CTRexServer(object):
trex_state = None
start_time = time.time()
while (time.time() - start_time) < timeout :
+ self.assert_zmq_ok()
trex_state = self.trex.get_status()
if trex_state != TRexStatus.Starting:
return
+ sleep(0.1)
return Fault(-12, 'TimeoutError: TRex initiation outcome could not be obtained, since TRex stays at Starting state beyond defined timeout.') # raise at client TRexWarning
def get_running_info (self):
+ self.assert_zmq_ok()
logger.info("Processing get_running_info() command.")
return self.trex.get_running_info()
@@ -441,7 +459,7 @@ class CTRexServer(object):
# adding additional options to the command
trex_cmd_options = ''
- for key, value in kwargs.iteritems():
+ for key, value in kwargs.items():
tmp_key = key.replace('_','-').lstrip('-')
dash = ' -' if (len(key)==1) else ' --'
if value is True:
@@ -474,13 +492,13 @@ class CTRexServer(object):
def __check_trex_path_validity(self):
# check for executable existance
if not os.path.exists(self.TREX_PATH+'/t-rex-64'):
- print "The provided TRex path do not contain an executable TRex file.\nPlease check the path and retry."
+ print("The provided TRex path do not contain an executable TRex file.\nPlease check the path and retry.")
logger.error("The provided TRex path do not contain an executable TRex file")
exit(-1)
# check for executable permissions
st = os.stat(self.TREX_PATH+'/t-rex-64')
if not bool(st.st_mode & (stat.S_IXUSR ) ):
- print "The provided TRex path do not contain an TRex file with execution privileges.\nPlease check the files permissions and retry."
+ print("The provided TRex path do not contain an TRex file with execution privileges.\nPlease check the files permissions and retry.")
logger.error("The provided TRex path do not contain an TRex file with execution privileges")
exit(-1)
else:
@@ -490,16 +508,16 @@ class CTRexServer(object):
# first, check for path existance. otherwise, try creating it with appropriate credentials
if not os.path.exists(self.trex_files_path):
try:
- os.makedirs(self.trex_files_path, 0660)
+ os.makedirs(self.trex_files_path, 0o660)
return
except os.error as inst:
- print "The provided files path does not exist and cannot be created with needed access credentials using root user.\nPlease check the path's permissions and retry."
+ print("The provided files path does not exist and cannot be created with needed access credentials using root user.\nPlease check the path's permissions and retry.")
logger.error("The provided files path does not exist and cannot be created with needed access credentials using root user.")
exit(-1)
elif os.access(self.trex_files_path, os.W_OK):
return
else:
- print "The provided files path has insufficient access credentials for root user.\nPlease check the path's permissions and retry."
+ print("The provided files path has insufficient access credentials for root user.\nPlease check the path's permissions and retry.")
logger.error("The provided files path has insufficient access credentials for root user")
exit(-1)
@@ -511,6 +529,7 @@ class CTRex(object):
self.session = None
self.zmq_monitor = None
self.zmq_dump = None
+ self.zmq_error = None
self.seq = None
self.expect_trex = threading.Event()
self.encoder = JSONEncoder()
diff --git a/scripts/automation/trex_control_plane/server/zmq_monitor_thread.py b/scripts/automation/trex_control_plane/server/zmq_monitor_thread.py
index db9bf7da..4fc263df 100755
--- a/scripts/automation/trex_control_plane/server/zmq_monitor_thread.py
+++ b/scripts/automation/trex_control_plane/server/zmq_monitor_thread.py
@@ -27,25 +27,29 @@ class ZmqMonitorSession(threading.Thread):
logger.info("ZMQ monitor initialization finished")
def run(self):
- self.context = zmq.Context()
- self.socket = self.context.socket(zmq.SUB)
- logger.info("ZMQ monitor started listening @ {pub}".format(pub=self.zmq_publisher))
- self.socket.connect(self.zmq_publisher)
- self.socket.setsockopt(zmq.SUBSCRIBE, '')
-
- while not self.stoprequest.is_set():
- try:
- zmq_dump = self.socket.recv() # This call is BLOCKING until data received!
- if self.expect_trex.is_set():
- self.parse_and_update_zmq_dump(zmq_dump)
- logger.debug("ZMQ dump received on socket, and saved to trexObject.")
- except Exception as e:
- if self.stoprequest.is_set():
- # allow this exception since it comes from ZMQ monitor termination
- pass
- else:
- logger.error("ZMQ monitor thrown an exception. Received exception: {ex}".format(ex=e))
- raise
+ try:
+ self.context = zmq.Context()
+ self.socket = self.context.socket(zmq.SUB)
+ logger.info("ZMQ monitor started listening @ {pub}".format(pub=self.zmq_publisher))
+ self.socket.connect(self.zmq_publisher)
+ self.socket.setsockopt(zmq.SUBSCRIBE, b'')
+
+ while not self.stoprequest.is_set():
+ try:
+ zmq_dump = self.socket.recv() # This call is BLOCKING until data received!
+ if self.expect_trex.is_set():
+ self.parse_and_update_zmq_dump(zmq_dump)
+ logger.debug("ZMQ dump received on socket, and saved to trexObject.")
+ except Exception as e:
+ if self.stoprequest.is_set():
+ # allow this exception since it comes from ZMQ monitor termination
+ pass
+ else:
+ logger.error("ZMQ monitor thrown an exception. Received exception: {ex}".format(ex=e))
+ raise
+ except Exception as e:
+ logger.error('ZMQ monitor error: %s' % e)
+ self.trexObj.zmq_error = e
def join(self, timeout=None):
self.stoprequest.set()
@@ -57,7 +61,7 @@ class ZmqMonitorSession(threading.Thread):
def parse_and_update_zmq_dump(self, zmq_dump):
try:
- dict_obj = self.decoder.decode(zmq_dump)
+ dict_obj = self.decoder.decode(zmq_dump.decode(errors = 'replace'))
except ValueError:
logger.error("ZMQ dump failed JSON-RPC decode. Ignoring. Bad dump was: {dump}".format(dump=zmq_dump))
dict_obj = None
diff --git a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_ext.py b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_ext.py
index ed0c393d..306302dc 100644
--- a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_ext.py
+++ b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_ext.py
@@ -54,7 +54,7 @@ def import_module_list(modules_list):
print("Unable to find required module library: '{0}'".format(p['name']))
print("Please provide the correct path using TREX_STL_EXT_PATH variable")
print("current path used: '{0}'".format(full_path))
- exit(0)
+ exit(1)
sys.path.insert(1, full_path)
diff --git a/scripts/dpdk_nic_bind.py b/scripts/dpdk_nic_bind.py
index 1ec91c2f..44241e73 100755
--- a/scripts/dpdk_nic_bind.py
+++ b/scripts/dpdk_nic_bind.py
@@ -54,7 +54,7 @@ args = []
def usage():
'''Print usage information for the program'''
argv0 = basename(sys.argv[0])
- print """
+ print("""
Usage:
------
@@ -110,14 +110,14 @@ To unbind 0000:01:00.0 from using any driver
To bind 0000:02:00.0 and 0000:02:00.1 to the ixgbe kernel driver
%(argv0)s -b ixgbe 02:00.0 02:00.1
- """ % locals() # replace items from local variables
+ """ % locals()) # replace items from local variables
# This is roughly compatible with check_output function in subprocess module
# which is only available in python 2.7.
-def check_output(args, stderr=None):
+def check_output(args, stderr=None, **kwargs):
'''Run a command and capture its output'''
return subprocess.Popen(args, stdout=subprocess.PIPE,
- stderr=stderr).communicate()[0]
+ stderr=stderr, **kwargs).communicate()[0]
def find_module(mod):
'''find the .ko file for kernel module named mod.
@@ -134,7 +134,7 @@ def find_module(mod):
# check using depmod
try:
depmod_out = check_output(["modinfo", "-n", mod], \
- stderr=subprocess.STDOUT).lower()
+ stderr=subprocess.STDOUT, universal_newlines = True).lower()
if "error" not in depmod_out:
path = depmod_out.strip()
if exists(path):
@@ -146,7 +146,7 @@ def find_module(mod):
tools_dir = dirname(abspath(sys.argv[0]))
if (tools_dir.endswith("tools")):
base_dir = dirname(tools_dir)
- find_out = check_output(["find", base_dir, "-name", mod + ".ko"])
+ find_out = check_output(["find", base_dir, "-name", mod + ".ko"], universal_newlines = True)
if len(find_out) > 0: #something matched
path = find_out.splitlines()[0]
if exists(path):
@@ -156,9 +156,8 @@ def check_modules():
'''Checks that igb_uio is loaded'''
global dpdk_drivers
- fd = file("/proc/modules")
- loaded_mods = fd.readlines()
- fd.close()
+ with open("/proc/modules") as fd:
+ loaded_mods = fd.readlines()
# list of supported modules
mods = [{"Name" : driver, "Found" : False} for driver in dpdk_drivers]
@@ -176,10 +175,10 @@ def check_modules():
# check if we have at least one loaded module
if True not in [mod["Found"] for mod in mods] and b_flag is not None:
if b_flag in dpdk_drivers:
- print "Error - no supported modules(DPDK driver) are loaded"
+ print("Error - no supported modules(DPDK driver) are loaded")
sys.exit(1)
else:
- print "Warning - no supported modules(DPDK driver) are loaded"
+ print("Warning - no supported modules(DPDK driver) are loaded")
# change DPDK driver list to only contain drivers that are loaded
dpdk_drivers = [mod["Name"] for mod in mods if mod["Found"]]
@@ -192,7 +191,7 @@ def get_pci_device_details(dev_id):
'''This function gets additional details for a PCI device'''
device = {}
- extra_info = check_output(["lspci", "-vmmks", dev_id]).splitlines()
+ extra_info = check_output(["lspci", "-vmmks", dev_id], universal_newlines = True).splitlines()
# parse lspci details
for line in extra_info:
@@ -224,7 +223,7 @@ def get_nic_details():
# first loop through and read details for all devices
# request machine readable format, with numeric IDs
dev = {};
- dev_lines = check_output(["lspci", "-Dvmmn"]).splitlines()
+ dev_lines = check_output(["lspci", "-Dvmmn"], universal_newlines = True).splitlines()
for dev_line in dev_lines:
if (len(dev_line) == 0):
if dev["Class"] == ETHERNET_CLASS:
@@ -238,13 +237,13 @@ def get_nic_details():
# check active interfaces with established connections
established_ip = set()
- for line in check_output(['netstat', '-tn']).splitlines(): # tcp 0 0 10.56.216.133:22 10.56.46.20:45079 ESTABLISHED
+ for line in check_output(['netstat', '-tn'], universal_newlines = True).splitlines(): # tcp 0 0 10.56.216.133:22 10.56.46.20:45079 ESTABLISHED
line_arr = line.split()
if len(line_arr) == 6 and line_arr[0] == 'tcp' and line_arr[5] == 'ESTABLISHED':
established_ip.add(line_arr[3].rsplit(':', 1)[0])
active_if = []
- for line in check_output(["ip", "-o", "addr"]).splitlines(): # 6: eth4 inet 10.56.216.133/24 brd 10.56.216.255 scope global eth4\ valid_lft forever preferred_lft forever
+ for line in check_output(["ip", "-o", "addr"], universal_newlines = True).splitlines(): # 6: eth4 inet 10.56.216.133/24 brd 10.56.216.255 scope global eth4\ valid_lft forever preferred_lft forever
line_arr = line.split()
if len(line_arr) > 6 and line_arr[2] == 'inet':
if line_arr[3].rsplit('/', 1)[0] in established_ip:
@@ -253,8 +252,8 @@ def get_nic_details():
# based on the basic info, get extended text details
for d in devices.keys():
# get additional info and add it to existing data
- devices[d] = dict(devices[d].items() +
- get_pci_device_details(d).items())
+ devices[d] = dict(list(devices[d].items()) +
+ list(get_pci_device_details(d).items()))
for _if in active_if:
if _if in devices[d]["Interface"].split(","):
@@ -293,27 +292,27 @@ def dev_id_from_dev_name(dev_name):
if dev_name in devices[d]["Interface"].split(","):
return devices[d]["Slot"]
# if nothing else matches - error
- print "Unknown device: %s. " \
- "Please specify device in \"bus:slot.func\" format" % dev_name
+ print("Unknown device: %s. " \
+ "Please specify device in \"bus:slot.func\" format" % dev_name)
sys.exit(1)
def unbind_one(dev_id, force):
'''Unbind the device identified by "dev_id" from its current driver'''
dev = devices[dev_id]
if not has_driver(dev_id):
- print "%s %s %s is not currently managed by any driver\n" % \
- (dev["Slot"], dev["Device_str"], dev["Interface"])
+ print("%s %s %s is not currently managed by any driver\n" % \
+ (dev[b"Slot"], dev[b"Device_str"], dev[b"Interface"]))
return
# prevent us disconnecting ourselves
if dev["Active"] and not force:
- print "netstat indicates that interface %s is active." % dev_id
+ print("netstat indicates that interface %s is active." % dev_id)
result = None
try:
result = strtobool(raw_input("Confirm unbind (y/N)"))
finally:
if not result:
- print 'Not unbinding.'
+ print('Not unbinding.')
return
# write to /sys to unbind
@@ -321,7 +320,7 @@ def unbind_one(dev_id, force):
try:
f = open(filename, "a")
except:
- print "Error: unbind failed for %s - Cannot open %s" % (dev_id, filename)
+ print("Error: unbind failed for %s - Cannot open %s" % (dev_id, filename))
sys.exit(1)
f.write(dev_id)
f.close()
@@ -334,19 +333,19 @@ def bind_one(dev_id, driver, force):
# prevent disconnection of our ssh session
if dev["Active"] and not force:
- print "netstat indicates that interface %s is active" % dev_id
+ print("netstat indicates that interface %s is active" % dev_id)
result = None
try:
result = strtobool(raw_input("Confirm bind (y/N)"))
finally:
if not result:
- print 'Not binding.'
+ print('Not binding.')
return
# unbind any existing drivers we don't want
if has_driver(dev_id):
if dev["Driver_str"] == driver:
- print "%s already bound to driver %s, skipping\n" % (dev_id, driver)
+ print("%s already bound to driver %s, skipping\n" % (dev_id, driver))
return
else:
saved_driver = dev["Driver_str"]
@@ -359,14 +358,14 @@ def bind_one(dev_id, driver, force):
try:
f = open(filename, "w")
except:
- print "Error: bind failed for %s - Cannot open %s" % (dev_id, filename)
+ print("Error: bind failed for %s - Cannot open %s" % (dev_id, filename))
return
try:
f.write("%04x %04x" % (dev["Vendor"], dev["Device"]))
f.close()
except:
- print "Error: bind failed for %s - Cannot write new PCI ID to " \
- "driver %s" % (dev_id, driver)
+ print("Error: bind failed for %s - Cannot write new PCI ID to " \
+ "driver %s" % (dev_id, driver))
return
# do the bind by writing to /sys
@@ -374,7 +373,7 @@ def bind_one(dev_id, driver, force):
try:
f = open(filename, "a")
except:
- print "Error: bind failed for %s - Cannot open %s" % (dev_id, filename)
+ print("Error: bind failed for %s - Cannot open %s" % (dev_id, filename))
if saved_driver is not None: # restore any previous driver
bind_one(dev_id, saved_driver, force)
return
@@ -388,7 +387,7 @@ def bind_one(dev_id, driver, force):
tmp = get_pci_device_details(dev_id)
if "Driver_str" in tmp and tmp["Driver_str"] == driver:
return
- print "Error: bind failed for %s - Cannot bind to driver %s" % (dev_id, driver)
+ print("Error: bind failed for %s - Cannot bind to driver %s" % (dev_id, driver))
if saved_driver is not None: # restore any previous driver
bind_one(dev_id, saved_driver, force)
return
@@ -420,8 +419,8 @@ def bind_all(dev_list, driver, force=False):
continue
# update information about this device
- devices[d] = dict(devices[d].items() +
- get_pci_device_details(d).items())
+ devices[d] = dict(list(devices[d].items()) +
+ list(get_pci_device_details(d).items()))
# check if updated information indicates that the device was bound
if "Driver_str" in devices[d]:
@@ -433,8 +432,8 @@ def display_devices(title, dev_list, extra_params = None):
%()s fields in it for replacement by the named fields in each device's
dictionary.'''
strings = [] # this holds the strings to print. We sort before printing
- print "\n%s" % title
- print "="*len(title)
+ print("\n%s" % title)
+ print("="*len(title))
if len(dev_list) == 0:
strings.append("<none>")
else:
@@ -446,7 +445,7 @@ def display_devices(title, dev_list, extra_params = None):
strings.append("%s '%s'" % (dev["Slot"], dev["Device_str"]))
# sort before printing, so that the entries appear in PCI order
strings.sort()
- print "\n".join(strings) # print one per line
+ print("\n".join(strings)) # print one per line
def show_status():
'''Function called when the script is passed the "--status" option. Displays
@@ -490,9 +489,9 @@ def parse_args():
opts, args = getopt.getopt(sys.argv[1:], "b:us",
["help", "usage", "status", "force",
"bind=", "unbind"])
- except getopt.GetoptError, error:
- print str(error)
- print "Run '%s --usage' for further information" % sys.argv[0]
+ except getopt.GetoptError as error:
+ print(str(error))
+ print("Run '%s --usage' for further information" % sys.argv[0])
sys.exit(1)
for opt, arg in opts:
@@ -505,7 +504,7 @@ def parse_args():
force_flag = True
if opt == "-b" or opt == "-u" or opt == "--bind" or opt == "--unbind":
if b_flag is not None:
- print "Error - Only one bind or unbind may be specified\n"
+ print("Error - Only one bind or unbind may be specified\n")
sys.exit(1)
if opt == "-u" or opt == "--unbind":
b_flag = "none"
@@ -520,13 +519,13 @@ def do_arg_actions():
global args
if b_flag is None and not status_flag:
- print "Error: No action specified for devices. Please give a -b or -u option"
- print "Run '%s --usage' for further information" % sys.argv[0]
+ print("Error: No action specified for devices. Please give a -b or -u option")
+ print("Run '%s --usage' for further information" % sys.argv[0])
sys.exit(1)
if b_flag is not None and len(args) == 0:
- print "Error: No devices specified."
- print "Run '%s --usage' for further information" % sys.argv[0]
+ print("Error: No devices specified.")
+ print("Run '%s --usage' for further information" % sys.argv[0])
sys.exit(1)
if b_flag == "none" or b_flag == "None":
diff --git a/scripts/dpdk_setup_ports.py b/scripts/dpdk_setup_ports.py
index 62eac038..59a00c8e 100755
--- a/scripts/dpdk_setup_ports.py
+++ b/scripts/dpdk_setup_ports.py
@@ -1,7 +1,9 @@
#! /usr/bin/python
# hhaim
-import sys,site
-site.addsitedir('python-lib')
+import sys
+import os
+python_ver = 'python%s' % sys.version_info[0]
+sys.path.append(os.path.join('external_libs', 'pyyaml-3.11', python_ver))
import yaml
import os.path
import os
@@ -71,19 +73,19 @@ Other network devices
try:
stream = open(fcfg, 'r')
self.m_cfg_dict= yaml.load(stream)
- except Exception,e:
- print e;
+ except Exception as e:
+ print(e);
raise e
stream.close();
cfg_dict = self.m_cfg_dict[0]
- if not cfg_dict.has_key('version') :
+ if 'version' not in cfg_dict:
self.raise_error ("Configuration file %s is old, should include version field\n" % fcfg )
if int(cfg_dict['version'])<2 :
self.raise_error ("Configuration file %s is old, should include version field with value greater than 2\n" % fcfg)
- if not self.m_cfg_dict[0].has_key('interfaces') :
+ if 'interfaces' not in self.m_cfg_dict[0]:
self.raise_error ("Configuration file %s is old, should include interfaces field even number of elemets" % fcfg)
if_list=self.m_cfg_dict[0]['interfaces']
@@ -97,8 +99,8 @@ Other network devices
def do_bind_one (self,key):
- cmd='./dpdk_nic_bind.py --bind=igb_uio %s ' % ( key)
- print cmd
+ cmd='%s dpdk_nic_bind.py --bind=igb_uio %s ' % (sys.executable, key)
+ print(cmd)
res=os.system(cmd);
if res!=0:
raise DpdkSetup('')
@@ -135,12 +137,12 @@ Other network devices
for obj in if_list:
key= self.pci_name_to_full_name (obj)
- if not self.m_devices.has_key(key) :
+ if key not in self.m_devices:
err=" %s does not exist " %key;
raise DpdkSetup(err)
- if self.m_devices[key].has_key('Driver_str'):
+ if 'Driver_str' in self.m_devices[key]:
if self.m_devices[key]['Driver_str'] !='igb_uio' :
self.do_bind_one (key)
else:
@@ -148,7 +150,7 @@ Other network devices
def do_create (self):
- print " not supported yet !"
+ print(" not supported yet !")
def parse_parent_cfg (parent_cfg):
@@ -220,7 +222,7 @@ def main ():
process_options ()
if map_driver.args.show:
- res=os.system('./dpdk_nic_bind.py --status');
+ res=os.system('%s dpdk_nic_bind.py --status' % sys.executable);
return(res);
obj =CIfMap(map_driver.cfg_file);
@@ -229,8 +231,8 @@ def main ():
obj.do_create();
else:
obj.do_run();
- except Exception,e:
- print e
+ except Exception as e:
+ print(e)
exit(-1)
main();
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_device.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_device.so
index b375648a..2e9e28b0 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_device.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_device.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_poll.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_poll.so
index 4516898f..0eb0651b 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_poll.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_poll.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_version.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_version.so
index 82732213..63383ee5 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_version.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/_version.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/constants.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/constants.so
index ee126822..48675284 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/constants.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/constants.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/context.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/context.so
index f8d8799f..54b40391 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/context.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/context.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/error.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/error.so
index 26ef58ad..24011a36 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/error.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/error.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/message.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/message.so
index ceea2307..e2c28fc5 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/message.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/message.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/socket.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/socket.so
index 00c87d63..a82fd40e 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/socket.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/socket.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/utils.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/utils.so
index 99d0b839..8846e225 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/utils.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/backend/cython/utils.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/devices/monitoredqueue.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/devices/monitoredqueue.so
index 46b057fd..bd5603a9 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/devices/monitoredqueue.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/devices/monitoredqueue.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/libzmq.so.3 b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/libzmq.so.3
index ed940931..3d94abe0 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/libzmq.so.3
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/32bit/zmq/libzmq.so.3
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_device.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_device.so
index 9f453219..459090a2 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_device.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_device.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_poll.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_poll.so
index 61c407cb..077bac3d 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_poll.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_poll.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_version.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_version.so
index 451aec83..0979a4dc 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_version.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/_version.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/constants.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/constants.so
index bce66fa0..7b2a7759 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/constants.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/constants.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/context.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/context.so
index 982c1fa4..ddf2a007 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/context.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/context.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/error.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/error.so
index 6aa7f8e9..e4693b92 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/error.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/error.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/message.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/message.so
index f2966bd6..763135a8 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/message.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/message.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/socket.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/socket.so
index 48660233..0f59c887 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/socket.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/socket.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/utils.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/utils.so
index e124c74e..293d82a3 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/utils.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/backend/cython/utils.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/devices/monitoredqueue.so b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/devices/monitoredqueue.so
index 87681943..968a3f15 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/devices/monitoredqueue.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/devices/monitoredqueue.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/libzmq.so.3 b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/libzmq.so.3
index b5e3bab2..bbf3903b 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/libzmq.so.3
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/cel59/64bit/zmq/libzmq.so.3
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_device.so b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_device.so
index 5957f8e0..26d9046b 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_device.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_device.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_poll.so b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_poll.so
index d93d0f10..2f4e7bd7 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_poll.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_poll.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_version.so b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_version.so
index 40dd3dc8..6b509bba 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_version.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/_version.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/constants.so b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/constants.so
index cf44c07e..c14e9f69 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/constants.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/constants.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/context.so b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/context.so
index ef9b9699..a114def6 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/context.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/context.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/error.so b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/error.so
index 360da9dd..efba9672 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/error.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/error.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/message.so b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/message.so
index f674489f..23491a8a 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/message.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/message.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/socket.so b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/socket.so
index 1c927042..48655525 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/socket.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/socket.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/utils.so b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/utils.so
index b4e5b283..adc23dd4 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/utils.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/backend/cython/utils.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/devices/monitoredqueue.so b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/devices/monitoredqueue.so
index edca8a4b..0964eb9c 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/devices/monitoredqueue.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/devices/monitoredqueue.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/libzmq.so.3 b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/libzmq.so.3
index 16980c27..f45fd5f5 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/libzmq.so.3
+++ b/scripts/external_libs/pyzmq-14.5.0/python2/fedora18/64bit/zmq/libzmq.so.3
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_device.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_device.cpython-34m.so
index a7ede3aa..c3124e03 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_device.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_device.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_poll.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_poll.cpython-34m.so
index e1238a2b..0e6a778b 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_poll.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_poll.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_version.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_version.cpython-34m.so
index be91b95a..22192ec9 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_version.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/_version.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/constants.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/constants.cpython-34m.so
index 6c6f4b5f..e10468be 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/constants.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/constants.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/context.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/context.cpython-34m.so
index 1f64c52f..4f772744 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/context.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/context.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/error.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/error.cpython-34m.so
index 1e4a4ecd..973a73fc 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/error.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/error.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/message.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/message.cpython-34m.so
index 2db58e42..d7f21128 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/message.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/message.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/socket.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/socket.cpython-34m.so
index 5421b769..f524bd39 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/socket.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/socket.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/utils.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/utils.cpython-34m.so
index d9cd485d..2834d645 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/utils.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/backend/cython/utils.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/devices/monitoredqueue.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/devices/monitoredqueue.cpython-34m.so
index 724d265e..049ee690 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/devices/monitoredqueue.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/devices/monitoredqueue.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/libzmq.so.3 b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/libzmq.so.3
index ed940931..3d94abe0 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/libzmq.so.3
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/32bit/zmq/libzmq.so.3
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_device.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_device.cpython-34m.so
index 5382bf29..6e97bc0b 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_device.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_device.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_poll.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_poll.cpython-34m.so
index d905a938..d8fcb2ee 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_poll.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_poll.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_version.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_version.cpython-34m.so
index c7f7a206..d7fe888c 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_version.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/_version.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/constants.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/constants.cpython-34m.so
index 11c91d01..a43c1b83 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/constants.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/constants.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/context.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/context.cpython-34m.so
index 8aa28b8d..58bc675a 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/context.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/context.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/error.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/error.cpython-34m.so
index b646a114..5a68c4c6 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/error.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/error.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/message.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/message.cpython-34m.so
index 764a54fc..94c5a66a 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/message.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/message.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/socket.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/socket.cpython-34m.so
index 2d2e5508..062ff756 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/socket.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/socket.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/utils.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/utils.cpython-34m.so
index ffb7d75c..c6581214 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/utils.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/backend/cython/utils.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/devices/monitoredqueue.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/devices/monitoredqueue.cpython-34m.so
index 85f1c507..d90bdb88 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/devices/monitoredqueue.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/devices/monitoredqueue.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/libzmq.so.3 b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/libzmq.so.3
index b5e3bab2..bbf3903b 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/libzmq.so.3
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/cel59/64bit/zmq/libzmq.so.3
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_device.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_device.cpython-34m.so
index 247f8a55..c33342f7 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_device.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_device.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_device.cpython-35m-x86_64-linux-gnu.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_device.cpython-35m-x86_64-linux-gnu.so
new file mode 100755
index 00000000..d42896f5
--- /dev/null
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_device.cpython-35m-x86_64-linux-gnu.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_poll.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_poll.cpython-34m.so
index aff94217..b6e42557 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_poll.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_poll.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_poll.cpython-35m-x86_64-linux-gnu.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_poll.cpython-35m-x86_64-linux-gnu.so
new file mode 100755
index 00000000..fc54f8de
--- /dev/null
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_poll.cpython-35m-x86_64-linux-gnu.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_version.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_version.cpython-34m.so
index 8ae81d79..ee4f4400 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_version.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_version.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_version.cpython-35m-x86_64-linux-gnu.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_version.cpython-35m-x86_64-linux-gnu.so
new file mode 100755
index 00000000..1c9c00c1
--- /dev/null
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/_version.cpython-35m-x86_64-linux-gnu.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/constants.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/constants.cpython-34m.so
index 2f89225f..b16865ea 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/constants.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/constants.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/constants.cpython-35m-x86_64-linux-gnu.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/constants.cpython-35m-x86_64-linux-gnu.so
new file mode 100755
index 00000000..18aba3b8
--- /dev/null
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/constants.cpython-35m-x86_64-linux-gnu.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/context.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/context.cpython-34m.so
index 35a33ecc..02e904f5 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/context.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/context.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/context.cpython-35m-x86_64-linux-gnu.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/context.cpython-35m-x86_64-linux-gnu.so
new file mode 100755
index 00000000..0d289b40
--- /dev/null
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/context.cpython-35m-x86_64-linux-gnu.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/error.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/error.cpython-34m.so
index 7774ada6..78a439f3 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/error.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/error.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/error.cpython-35m-x86_64-linux-gnu.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/error.cpython-35m-x86_64-linux-gnu.so
new file mode 100755
index 00000000..5ea54c69
--- /dev/null
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/error.cpython-35m-x86_64-linux-gnu.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/message.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/message.cpython-34m.so
index 2c3ca77f..16a7fc52 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/message.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/message.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/message.cpython-35m-x86_64-linux-gnu.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/message.cpython-35m-x86_64-linux-gnu.so
new file mode 100755
index 00000000..2ec9da1e
--- /dev/null
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/message.cpython-35m-x86_64-linux-gnu.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/socket.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/socket.cpython-34m.so
index daca1379..748f6ab5 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/socket.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/socket.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/socket.cpython-35m-x86_64-linux-gnu.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/socket.cpython-35m-x86_64-linux-gnu.so
new file mode 100755
index 00000000..b8e3792d
--- /dev/null
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/socket.cpython-35m-x86_64-linux-gnu.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/utils.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/utils.cpython-34m.so
index 74ed0a10..d5cc674d 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/utils.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/utils.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/utils.cpython-35m-x86_64-linux-gnu.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/utils.cpython-35m-x86_64-linux-gnu.so
new file mode 100755
index 00000000..c3eaf2a6
--- /dev/null
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/utils.cpython-35m-x86_64-linux-gnu.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/devices/monitoredqueue.cpython-34m.so b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/devices/monitoredqueue.cpython-34m.so
index fdc7655a..42b15e8c 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/devices/monitoredqueue.cpython-34m.so
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/devices/monitoredqueue.cpython-34m.so
Binary files differ
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/libzmq.so.3 b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/libzmq.so.3
index 16980c27..f45fd5f5 100644
--- a/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/libzmq.so.3
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/libzmq.so.3
Binary files differ
diff --git a/scripts/master_daemon.py b/scripts/master_daemon.py
index 3a9d7ffe..381a7eaf 100755
--- a/scripts/master_daemon.py
+++ b/scripts/master_daemon.py
@@ -31,7 +31,7 @@ def get_trex_path():
def update_trex(package_path = 'http://trex-tgn.cisco.com/trex/release/latest'):
if not args.allow_update:
- raise Exception('Updading server not allowed')
+ raise Exception('Updating server not allowed')
# getting new package
if package_path.startswith('http://'):
file_name = package_path.split('/')[-1]
@@ -185,8 +185,8 @@ args.trex_dir = os.path.abspath(args.trex_dir)
args.daemon_type = args.daemon_type or 'master_daemon'
stl_rpc_proxy_dir = os.path.join(args.trex_dir, 'automation', 'trex_control_plane', 'stl', 'examples')
-stl_rpc_proxy = SingletonDaemon('Stateless RPC proxy', 'trex_stl_rpc_proxy', args.stl_rpc_proxy_port, './rpc_proxy_server.py', stl_rpc_proxy_dir)
-trex_daemon_server = SingletonDaemon('TRex daemon server', 'trex_daemon_server', args.trex_daemon_port, './trex_daemon_server start', args.trex_dir)
+stl_rpc_proxy = SingletonDaemon('Stateless RPC proxy', 'trex_stl_rpc_proxy', args.stl_rpc_proxy_port, '%s rpc_proxy_server.py' % sys.executable, stl_rpc_proxy_dir)
+trex_daemon_server = SingletonDaemon('TRex daemon server', 'trex_daemon_server', args.trex_daemon_port, '%s trex_daemon_server start' % sys.executable, args.trex_dir)
master_daemon = SingletonDaemon('Master daemon', 'trex_master_daemon', args.master_port, start_master_daemon) # add ourself for easier check if running, kill etc.
tmp_dir = '/tmp/trex-tmp'
diff --git a/scripts/trex-cfg b/scripts/trex-cfg
index 44ef678c..02421001 100755
--- a/scripts/trex-cfg
+++ b/scripts/trex-cfg
@@ -65,6 +65,5 @@ fi
# try to bind the ports from the configuration file (new DPDK)
PARENT_ARGS="$0 $@"
-if ! ./dpdk_setup_ports.py --parent "$PARENT_ARGS"; then
- exit 1
-fi
+(/usr/bin/python -V &> /dev/null && ./dpdk_setup_ports.py --parent "$PARENT_ARGS") ||
+ (/usr/bin/python3 -V &> /dev/null && /usr/bin/python3 dpdk_setup_ports.py --parent "$PARENT_ARGS") || exit 1
diff --git a/scripts/trex_daemon_server b/scripts/trex_daemon_server
index b21a2626..514dbd2d 100755
--- a/scripts/trex_daemon_server
+++ b/scripts/trex_daemon_server
@@ -62,7 +62,7 @@ def get_daemon_pid():
def show_daemon_status():
if get_daemon_pid():
- print(termstyle.red('TRex server daemon is running'))
+ print(termstyle.green('TRex server daemon is running'))
else:
print(termstyle.red('TRex server daemon is NOT running'))
@@ -96,6 +96,7 @@ def start_live():
def restart_daemon():
if get_daemon_pid():
kill_daemon()
+ sleep(0.5)
start_daemon()
def kill_daemon():