[dts] [PATCH 05/26] framework project_dpdk: asserting loading vfio-pci by using DPDK binding script

Angela Czubak aczubak at caviumnetworks.com
Thu Apr 6 19:51:11 CEST 2017


If one uses kernel with builtin modules lsmod does not print modules
even though they may be used. Thus, it is better to check if vfio-pci
can be bound by checking status with DPDK binding script (it appears in
unused drivers).

Signed-off-by: Angela Czubak <aczubak at caviumnetworks.com>
---
 framework/project_dpdk.py | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/framework/project_dpdk.py b/framework/project_dpdk.py
index 97491c7..f3d3701 100644
--- a/framework/project_dpdk.py
+++ b/framework/project_dpdk.py
@@ -102,8 +102,17 @@ class DPDKdut(Dut):
             self.send_expect("rmmod vfio", "#", 70)
             self.send_expect("modprobe vfio", "#", 70)
             self.send_expect("modprobe vfio-pci", "#", 70)
-            out = self.send_expect("lsmod | grep vfio_iommu_type1", "#")
-            assert ("vfio_iommu_type1" in out), "Failed to setup vfio-pci"
+            # check with dpdk binding script instead of lsmod - kernel may have builtin modules
+            op = self.send_command("ls")
+            if "usertools" in op:
+                out = self.send_expect('usertools/dpdk-devbind.py --status', '# ')
+            else:
+                op = self.send_command("ls tools")
+                if "dpdk_nic_bind.py" in op:
+                    out = self.send_expect('tools/dpdk_nic_bind.py --status', '# ')
+                else:
+                    out = self.send_expect('tools/dpdk-devbind.py --status', '# ')
+            assert ("vfio-pci" in out), "Failed to setup vfio-pci"
         else:
             self.send_expect("modprobe uio", "#", 70)
             out = self.send_expect("lsmod | grep igb_uio", "#")
-- 
2.7.4



More information about the dts mailing list