我正在尝试从dpdk接口捕获数据包。 使用pdump + testpmd,能够捕获数据包。 但是,如果将Wireshark与testpmd一起使用,则以上操作将失败。
任何建议都值得赞赏。谢谢
在Ubuntu v 18 +,DPDK v 19+ Wireshark v 3+上工作
答案 0 :(得分:0)
将接口绑定到igb_uio之类的DPDK驱动程序后,它就对内核不可见,并且仅可用于DPDK应用程序(使用some exceptions)。
如果要将端口与Wireshark一起使用,很遗憾,您必须bind it back to the kernel。您也可以使用DPDK将数据包捕获到.pcap文件中,然后通过Wireshark脱机对其进行分析-如果需要的话。
答案 1 :(得分:0)
解决方案是使用pdump应用程序。就像其他人提到的那样,一旦您的DPDK应用程序获得了网卡的所有权,内核将看不到数据包,并且不会触发tcpdump挂钩。 该文档说明了如何i)编译支持dpdk和pcap的dpdk ii)使您的主进程-您的应用程序-将数据包信息提供给辅助进程-pdump sample application。
然后可以将生成的pcap与Wireshark一起使用。