dpdk-pdump "no driver found for net_pcap_rx_0"

dpdk-pdump "no driver found for net_pcap_rx_0"

Ubuntu16, DPDK 16

我有几个基于 DPDK 的应用程序在两台机器之间发送数据包,我想用 dpdk-pdump 捕获它们。我 运行 它与 sudo ./build/app/pdump/dpdk-pdump -c 0x00f -- --pdump 'port=0,queue=*,rx-dev=/tmp/rx.pcap',我看到这个输出和崩溃:

EAL: no driver found for eth_pcap_rx_0 EAL: Driver, cannot attach the device EAL: Error - exiting with code: 1 Cause: vdev creation failed:create_mp_ring_vdev:736

我的 DPDK 是这样编译的:hostname:~/dpdk-stable-16.07.1/x86_64-native-linuxapp-gcc# CONFIG_RTE_LIBRTE_PMD_PCAP=y make(之前也做过 export CONFIG_RTE_LIBRTE_PMD_PCAP=y),因此它使用 libpcap 支持构建,正如文档所说的那样。我的系统安装了 libpcap。 make 脚本输出显示 == Build lib/librte_pdump。在网上四处寻找,我只找到了 one person with a similar issue,建议的修复方法是我尝试过的。我还需要做些什么吗?

我尝试安装 DPDK Ubuntu package's version of the tool 并使用 dpdk-pdump 命令,结果相同。

不幸的是,在命令行中设置CONFIG_RTE_LIBRTE_PMD_PCAP=y 不起作用,因此编译的dpdk-pdump 不支持pcap。

在 config/common_base 中设置 CONFIG_RTE_LIBRTE_PMD_PCAP=y,删除您的构建目录并重新编译 DPDK。

确保构建目录中的 .config 文件具有 CONFIG_RTE_LIBRTE_PMD_PCAP=y

此外,如果您遇到以下错误:

Error: missing pcap.h
rte_eth_pcap.c:19:18: fatal error: pcap.h: No such file or directory

使用选项 CONFIG_RTE_LIBRTE_PMD_PCAP=y

编译时

安装 libpcap-dev* 软件包。例如:

yum install libpcap-devel