When you try to run any DPDK-app in VMWare with e1000/82545EM NIC you have a lot of lines like:
EAL: Error reading from file descriptor 9: Input/output error The reason of this error is bad INTX emulation in VMWare and pci_intx_mask_supported return false every time. --- lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c index 865a276..c85f7e5 100644 --- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c +++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c @@ -36,6 +36,7 @@ #ifdef CONFIG_XEN_DOM0 #include <xen/xen.h> #endif +#include <asm/hypervisor.h> #include <rte_pci_dev_features.h> #include "compat.h" @@ -508,7 +509,8 @@ igbuio_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) } /* fall back to INTX */ case RTE_INTR_MODE_LEGACY: - if (pci_intx_mask_supported(dev)) { + /* VMware emulated e1000 doesn't support INTX_DISABLE flag */ + if (pci_intx_mask_supported(dev) || x86_hyper == &x86_hyper_vmware) { dev_dbg(&dev->dev, "using INTX"); udev->info.irq_flags = IRQF_SHARED; udev->info.irq = dev->irq; -- 2.5.3