使用dpdk-v18.02构建应用程序,并显示“无有效端口”错误。
我尝试了dpdk-v19.02,它给出了相同的错误。
这是错误:
EAL: Detected 40 lcore(s)
EAL: Multi-process socket /var/run/.rte_unix
EAL: Probing VFIO support...
EAL: PCI device 0000:04:00.0 on NUMA socket 0
EAL: probe driver: 10ee:9038 xnic
EAL: Requested device 0000:04:00.0 cannot be used
EAL: Error - exiting with code: 1
Cause: Error: no valid ports
该端口已绑定到驱动程序:
dpdk/usertools/# python dpdk-devbind.py --bind=igb_uio 04:00.0
0000:04:00.0 already bound to driver igb_uio, skipping
检查端口绑定为python dpdk-devbind.py --status
Network devices using DPDK-compatible driver
============================================
0000:04:00.0 'Device 9038' drv=igb_uio unused=
答案 0 :(得分:0)
此日志消息引用的是PMD(用户空间“轮询模式驱动程序”)查找,而不是内核驱动程序(如igb_uio
)。如果DPDK支持此设备,则将有一些PMD(drivers/net/
目录)声明支持给定的供应商ID(例如10ee
)和设备ID(例如{{1 }})。在DPDK源代码树中搜索供应商ID 9038
不会产生任何结果。也就是说,显然,您要探查的设备没有DPDK驱动程序。遗憾的是,只有实现了功能强大的PMD并将其添加到源代码树后,您才能将该设备与DPDK一起使用。
答案 1 :(得分:0)
这里是 DPDK 下带有 PMD 的 nics supported 列表。看起来 Device 9038
不在列表中。
对于不支持的 DPDK 网卡,请使用 PCAP PMD 接口到 DPDK 应用程序。入门步骤
--no-pci --vdev=net_pcap0,iface=[name of nic interface]