c - 如何在构建应用程序时修复 dpdk-18.02 中的 "no valid ports"问题?

标签 c linux ethernet nic dpdk

使用 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

端口已经绑定(bind)到驱动:

dpdk/usertools/# python dpdk-devbind.py --bind=igb_uio 04:00.0
0000:04:00.0 already bound to driver igb_uio, skipping 

检查端口绑定(bind)为 python dpdk-devbind.py --status

Network devices using DPDK-compatible driver
============================================
0000:04:00.0 'Device 9038' drv=igb_uio unused=

最佳答案

这里是 nics supported 的列表在 DPDK 下使用 PMD。看起来 Device 9038 不在列表中。

对于不支持的 DPDK NIC,请使用 PCAP PMD 连接到 DPDK 应用程序。开始的步骤

  1. 在启用 PCAP PMD 的情况下构建适当的 DPDK 版本
  2. 将额外的参数添加到 DPDK 应用程序,如 --no-pci --vdev=net_pcap0,iface=[nic 接口(interface)名称]

关于c - 如何在构建应用程序时修复 dpdk-18.02 中的 "no valid ports"问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54636516/

相关文章:

无法确定为什么程序的函数将数组返回给主程序

python - 从 Borland C 转换为 python

c++ - 使用 crosstool-ng 编译 gcc 时出错

c - 在 C 中,我有一个从文件中读取的 char* 数组,当我通过引用将其从函数中传递出来时,我得到了垃圾

linux - Nohup 对比 Nohup &

python - 如何使用 Scapy 在 DHCP header 中添加参数请求列表?

php - 如何自动叫出名字?

linux - 如何将 grep 输出的值存储在变量中

networking - 如何通过pcap_sendpacket发送大于1500字节的数据包?

c - STM32F103如何使用ENC28j60