The vmxnet3 PCI hardware resources were never memory mapped when 
RE_EAL_UNBIND_PORTS is not defined.
Specifically, pci_dev->mem_resource is not mapped. The fix is to always set 
drv_flags with RTE_PCI_DRV_NEED_IGU for vmxnet3. This ensures 
pci_uio_map_resource() is called.

Signed-off-by: Daniel Kan <dan at nyansa.com>
---
 lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c |    2 --
 1 file changed, 2 deletions(-)

diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c 
b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
index 6757aa2..8259cfe 100644
--- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
+++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
@@ -267,9 +267,7 @@ static struct eth_driver rte_vmxnet3_pmd = {
        {
                .name = "rte_vmxnet3_pmd",
                .id_table = pci_id_vmxnet3_map,
-#ifdef RTE_EAL_UNBIND_PORTS
                .drv_flags = RTE_PCI_DRV_NEED_IGB_UIO,
-#endif
        },
        .eth_dev_init = eth_vmxnet3_dev_init,
        .dev_private_size = sizeof(struct vmxnet3_adapter),
-- 
1.7.9.5

Reply via email to