NFVBENCH-196: New NFVbench image for generator part (nfvbench and TRex codes inside VM)
[nfvbench.git] / nfvbench / traffic_server.py
index 03c0182..53f4f39 100644 (file)
@@ -53,10 +53,21 @@ class TRexTrafficServer(TrafficServer):
         # --unbind-unused-ports: for NIC that have more than 2 ports such as Intel X710
         # this will instruct trex to unbind all ports that are unused instead of
         # erroring out with an exception (i40e only)
+        # Try: --ignore-528-issue -> neither unbind nor exit with error,
+        #                            just proceed cause it might work!
+        # Note that force unbinding is probably a bad choice:
+        # we can't assume for sure that other ports are "unused".
+        # The default TRex behaviour - exit - is indeed a safer option;
+        # a message informs about the ports that should be unbound.
+        i40e_opt = ("--ignore-528-issue" if
+                    generator_config.config.i40e_mixed == 'ignore' else
+                    "--unbind-unused-ports" if
+                    generator_config.config.i40e_mixed == 'unbind' else "")
         cmd = ['nohup', '/bin/bash', '-c',
                './t-rex-64 -i -c {} --iom 0 --no-scapy-server '
-               '--unbind-unused-ports --close-at-end {} {} '
+               '--close-at-end {} {} {} '
                '{} {} --cfg {} &> /tmp/trex.log & disown'.format(cores, sw_mode,
+                                                                 i40e_opt,
                                                                  vlan_opt,
                                                                  hdrh_opt,
                                                                  mbuf_opt, cfg)]