Add: Use containers for shared TG
[csit.git] / resources / libraries / python / TrafficGenerator.py
index b6d28a4..8c3abfb 100644 (file)
@@ -328,18 +328,12 @@ class TrafficGenerator(AbstractMeasurer):
                 self._node, cmd, sudo=True,
                 message='Unbind PCI ports from driver failed!')
 
-            cmd = ("sh -c 'cd {dir}/scripts/ && ./trex-cfg "
-                   "--unbind-unused-ports'"
-                   .format(dir=Constants.TREX_INSTALL_DIR))
-            exec_cmd_no_error(
-                self._node, cmd, sudo=True, message='Config TRex failed!')
-
             # Start TRex.
             cmd = ("sh -c 'cd {dir}/scripts/ && "
-                   "nohup ./t-rex-64 {mode} -i -c 7 > "
-                   "/tmp/trex.log 2>&1 &' > /dev/null"
+                   "nohup ./t-rex-64 --hdrh{mode} --prefix $(hostname)"
+                   " -i -c 7 > /tmp/trex.log 2>&1 &' > /dev/null"
                    .format(dir=Constants.TREX_INSTALL_DIR,
-                           mode='--astf' if osi_layer == 'L7' else ''))
+                           mode=' --astf' if osi_layer == 'L7' else ''))
             try:
                 exec_cmd_no_error(self._node, cmd, sudo=True)
             except RuntimeError:
@@ -406,12 +400,12 @@ class TrafficGenerator(AbstractMeasurer):
         line = stdout.splitlines()[-1]
         self._result = line
         logger.info('TrafficGen result: {0}'.format(self._result))
-        self._received = self._result.split(', ')[1].split('=')[1]
-        self._sent = self._result.split(', ')[2].split('=')[1]
-        self._loss = self._result.split(', ')[3].split('=')[1]
+        self._received = self._result.split(', ')[1].split('=', 1)[1]
+        self._sent = self._result.split(', ')[2].split('=', 1)[1]
+        self._loss = self._result.split(', ')[3].split('=', 1)[1]
         self._latency = []
-        self._latency.append(self._result.split(', ')[4].split('=')[1])
-        self._latency.append(self._result.split(', ')[5].split('=')[1])
+        self._latency.append(self._result.split(', ')[4].split('=', 1)[1])
+        self._latency.append(self._result.split(', ')[5].split('=', 1)[1])
 
     def trex_stl_stop_remote_exec(self, node):
         """Execute script on remote node over ssh to stop running traffic.