From 844698802b99b67237250fd31e416081680354c0 Mon Sep 17 00:00:00 2001 From: pmikus Date: Wed, 23 Sep 2020 12:44:06 +0000 Subject: [PATCH] FIX: Race condition avf tests works, but vfio-pci tests are following, the interfaces must be in down state (ideally unbind, as vpp cannot pick them). Signed-off-by: pmikus Change-Id: I77af85ec4239059a5455ef68683ca129548bd7bd --- resources/libraries/python/DUTSetup.py | 12 ++++++++++++ resources/libraries/robot/shared/interfaces.robot | 2 ++ 2 files changed, 14 insertions(+) diff --git a/resources/libraries/python/DUTSetup.py b/resources/libraries/python/DUTSetup.py index 28b36266cf..396029a04f 100644 --- a/resources/libraries/python/DUTSetup.py +++ b/resources/libraries/python/DUTSetup.py @@ -429,6 +429,18 @@ class DUTSetup: node, command, timeout=120, sudo=True, message=message ) + @staticmethod + def pci_driver_unbind_list(node, *pci_addrs): + """Unbind PCI devices from current driver on node. + + :param node: DUT node. + :param pci_addrs: PCI device addresses. + :type node: dict + :type pci_addrs: list + """ + for pci_addr in pci_addrs: + DUTSetup.pci_driver_unbind(node, pci_addr) + @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 cd14e8937e..4fdc1ee0a6 100644 --- a/resources/libraries/robot/shared/interfaces.robot +++ b/resources/libraries/robot/shared/interfaces.robot @@ -117,6 +117,8 @@ | | ${index}= | Get Index From List | ${TEST TAGS} | DPDK | | Run Keyword If | ${index} >= 0 | Return From Keyword | | FOR | ${dut} | IN | @{duts} +| | | Stop VPP Service | ${nodes['${dut}']} +| | | PCI Driver Unbind List | ${nodes['${dut}']} | @{${dut}_pf_pci} | | | Run keyword | ${dut}.Add DPDK Dev | @{${dut}_pf_pci} | | | Run Keyword If | ${dpdk_no_tx_checksum_offload} | | | ... | ${dut}.Add DPDK No Tx Checksum Offload -- 2.16.6