当我 运行 基于 suricata 的 dpdk 时,端口总是 returns 0

The ports always returns 0 when I run suricata based dpdk

我已经成功安装DPDK-19.11.1 LTS如下:

而我绑定的网卡如下:

如果我运行一个例子(dpdk/dpdk-stable-19.11.3/examples/skeleton/build/basicfwd),函数rte_eth_dev_count_avail() returns我绑定的端口dpdk-devbind.py.

我也在Ubuntu 16.04 LTS上安装了Suricata-4.1.4,但是当我运行 suricata时,dpdk端口总是returns 0:

所以我想知道如何解决这个问题?

检查工单 https://github.com/vipinpv85/DPDK_SURICATA-4_1_1/issues/11 中的更新,解决方案已共享为 can you please check if you are using the latest version? If yes please add support for 1G Intel NIC in your environment and update ASAP

因此,请为您的用例添加缺少的 PMD。

[EDIT-2] 用于 1G Intel NIC 的 DPDK PMD 是 rte_pmd_e1000

[EDIT-3] 进行了实时调试,展示了要为 Makfile 添加的更改。已测试且有效

感谢vipin的热心帮助。我已经成功解决了这个问题。

这是因为在dpdk/suricata-4.1.4/src/Makefile中,只支持i40e。所以我为 i350 添加 -lrte_pmd_e1000 -Wl。