项目场景:
硬件环境: win10笔记本上vmware虚拟机,虚拟网卡型号为Intel 82545EM
操作系统: centos6.5
dpdk版本: 16.07
问题描述:
1、运行dpdk源码自带的示例程序时出现下述错误:
EAL: Error reading from file descriptor 13: Input/output error
2、绑定网卡失败
Error: bind failed for 0000:02:02.0 - Cannot bind to driver igb_uio
解决方法:
此问题只在虚拟机环境下才会出现,需要修改dpdk16.07/lib/librte_eal/linuxapp/igb_uio/igb_uio.c文件,
将if (pci_intx_mask_supported(dev))修改为if (pci_intx_mask_supported(dev) || true), 然后重新编译dpdk即可.
Network devices using DPDK-compatible driver
============================================
0000:02:02.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio unused=e1000
0000:02:03.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio unused=e1000
Network devices using kernel driver
===================================
0000:02:01.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth0 drv=e1000 unused=igb_uio *Active*
Other network devices
=====================
<none>