From: Peter Mikus Date: Thu, 9 Jun 2022 09:45:26 +0000 (+0000) Subject: fix(core): T-Rex initialization X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=commitdiff_plain;h=c0da585c7ea862cf37d0e559200c8b45dc4eabdc fix(core): T-Rex initialization Signed-off-by: Peter Mikus Change-Id: I53226ff6a345ac99c1e2e110712b2ff6197efe95 --- diff --git a/resources/libraries/python/TrafficGenerator.py b/resources/libraries/python/TrafficGenerator.py index 5d9a0568f1..2a28896e63 100644 --- a/resources/libraries/python/TrafficGenerator.py +++ b/resources/libraries/python/TrafficGenerator.py @@ -423,18 +423,37 @@ class TrafficGenerator(AbstractMeasurer): tg_node, cmd, sudo=True, message=u"Kill TRex failed!" ) - # Configure TRex. - ports = '' + # Prepare interfaces for TRex. + mlx_ports = u"" + mlx_driver = u"" + itl_ports = u"" for port in tg_node[u"interfaces"].values(): - if u'Mellanox' not in port.get(u'model'): - ports += f" {port.get(u'pci_address')}" - - cmd = f"sh -c \"cd {Constants.TREX_INSTALL_DIR}/scripts/ && " \ - f"./dpdk_nic_bind.py -u {ports} || true\"" - exec_cmd_no_error( - tg_node, cmd, sudo=True, - message=u"Unbind PCI ports from driver failed!" - ) + if u"Mellanox" in port.get(u"model"): + mlx_ports += f" {port.get(u'pci_address')}" + mlx_driver = port.get(u"driver") + if u"Intel" in port.get(u"model"): + itl_ports += f" {port.get(u'pci_address')}" + + if itl_ports: + cmd = ( + f"sh -c \"cd {Constants.TREX_INSTALL_DIR}/scripts/ && ", + f"./dpdk_nic_bind.py -u {itl_ports} || ", + f"true\"" + ) + exec_cmd_no_error( + tg_node, cmd, sudo=True, + message=u"Unbind PCI ports from driver failed!" + ) + if mlx_ports: + cmd = ( + f"sh -c \"cd {Constants.TREX_INSTALL_DIR}/scripts/ && ", + f"./dpdk_nic_bind.py -b {mlx_driver} {mlx_ports} || ", + f"true\"" + ) + exec_cmd_no_error( + tg_node, cmd, sudo=True, + message=u"Bind PCI ports from driver failed!" + ) # Start TRex. cd_cmd = f"cd '{Constants.TREX_INSTALL_DIR}/scripts/'"