我是 DPDK 的新手。我正在尝试了解 KNI。我编译并启动了库提供的 KNI 示例。
- 我使用 ifconfig 命令调出对应于每个端口的 vEth 接口,并为它们分配 IP 地址和网络掩码。
- 我试图对同一网络上的其他机器进行 ping 和 hping(tcp ping)。通过 tcpdump,我可以看到 KNI 接口发送了正确的帧,但似乎没有收到任何内容。
- 我在 dmesg 或运行 KNI 测试脚本的控制台中看不到任何错误。
- 我继续尝试通过打印出 mbufs 条目进行调试。KNI Rx 似乎没有在与应该接收数据/帧的 Eth 端口对应的环形缓冲区中找到任何内容。但是,ifconfig 消息确实会显示在缓冲区上,并相应地由内核执行。
如果有人可以建议我如何推进这一点并让它按预期工作,那将非常有帮助。我已经为此旋转了一段时间。我已经在具有多个网络接口的虚拟机和物理机上尝试过这个。
谢谢