Hi,


Finally got to looking at support of spdk build on CentOS6, things look good, except for one issue.

spdk is latest 18.01.x version, dpdk is 16.07 (+3 dpdk patches to allow compilation) and some minor patches (mainly some memory configuration stuff), kernel is a patched 4.9.6.


build succeeded except for the usage of the dpdk function pci_vfio_is_enabled.

I had to apply the patch bellow, removing the usage of this function and then compilation completed without any issues.


It seems that I am missing some sort of dpdk configuration as I see that the function is built, but not packaged into the generated archive.


I went back to square one and ran the instructions in http://www.spdk.io/doc/getting_started.html, but I see no mention of dpdk there. Actually the ./configure requires it.


My next step is to use a more recent dpdk, but shouldn't this work with my version? Am I missing some dpdk configuration?

BTW, as we are not using vhost, on our 17.07 version we simply use CONFIG_VHOST=n in order to skip this, but I would be happier if we used a better solution.


Shahar


P.S. Here is the patch to remove use of this function:
diff --git a/lib/env_dpdk/vtophys.c b/lib/env_dpdk/vtophys.c
index 92aa256..f38929f 100644
--- a/lib/env_dpdk/vtophys.c
+++ b/lib/env_dpdk/vtophys.c
@@ -53,8 +53,10 @@
 #define SPDK_VFIO_ENABLED 1
 #include <linux/vfio.h>
 
+#if 0
 /* Internal DPDK function forward declaration */
 int pci_vfio_is_enabled(void);
+#endif
 
 struct spdk_vfio_dma_map {
        struct vfio_iommu_type1_dma_map map;
@@ -341,9 +343,11 @@ spdk_vtophys_iommu_init(void)
        DIR *dir;
        struct dirent *d;
 
+#if 0
        if (!pci_vfio_is_enabled()) {
                return;
        }
+#endif
 
        dir = opendir("/proc/self/fd");
        if (!dir) {