diff options
-rw-r--r-- | resources/libraries/python/DUTSetup.py | 15 | ||||
-rw-r--r-- | resources/libraries/robot/shared/interfaces.robot | 4 |
2 files changed, 17 insertions, 2 deletions
diff --git a/resources/libraries/python/DUTSetup.py b/resources/libraries/python/DUTSetup.py index bc8af372df..8c240d9735 100644 --- a/resources/libraries/python/DUTSetup.py +++ b/resources/libraries/python/DUTSetup.py @@ -381,6 +381,21 @@ class DUTSetup: DUTSetup.pci_driver_unbind(node, pci_addr) @staticmethod + def bind_pci_devices_to_specific_driver(node, driver, *pci_addrs): + """Bind PCI devices to input driver on node. Unbind from previous. + + :param node: DUT node. + :param driver: Driver to bind to. + :param pci_addrs: PCI device addresses. + :type node: dict + :type driver: str + :type pci_addrs: list + """ + for pci_addr in pci_addrs: + DUTSetup.pci_driver_unbind(node, pci_addr) + DUTSetup.pci_driver_bind(node, pci_addr, driver) + + @staticmethod def pci_driver_bind(node, pci_addr, driver): """Bind PCI device to driver on node. diff --git a/resources/libraries/robot/shared/interfaces.robot b/resources/libraries/robot/shared/interfaces.robot index 393811578e..929ff16196 100644 --- a/resources/libraries/robot/shared/interfaces.robot +++ b/resources/libraries/robot/shared/interfaces.robot @@ -146,8 +146,8 @@ | | Run Keyword If | ${nic_vfs} | | ... | ${dut}.Add OCTEON Dev | @{${dut}_prevf_pci} | | Run Keyword If | not ${nic_vfs} -| | ... | Unbind PCI Devices From Other Driver | ${nodes['${dut}']} | vfio-pci | -| | ... | ... | @{${dut}_pf_pci} +| | ... | Bind PCI Devices To Specific Driver | ${nodes['${dut}']} | vfio-pci +| | ... | @{${dut}_pf_pci} | | Run Keyword If | not ${nic_vfs} | | ... | ${dut}.Add OCTEON Dev | @{${dut}_pf_pci} |