首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wireshark不捕获dpdk接口数据包

Wireshark不捕获dpdk接口数据包
EN

Stack Overflow用户
提问于 2019-03-14 09:35:01
回答 2查看 1.3K关注 0票数 0

我正在尝试捕获来自dpdk接口的数据包。使用pdump+testpmd,能够捕获数据包。但是,如果将Wireshark与testpmd一起使用,上述操作将失败。

任何建议都将受到高度赞赏。谢谢

使用Ubuntu v 18+、DPDK v 19+ Wireshark v 3+

EN

回答 2

Stack Overflow用户

发布于 2019-03-21 18:34:10

一旦将物理接口从内核绑定到DPDK驱动程序(igb_uio、uio_pci_generic、vfio-pci),它就会从内核netdev中删除,用于物理功能和虚拟功能。这些NIC端口可以通过UIO驱动程序访问,并且具有PMD的DPDK之类的应用程序可以探测和初始化设备(使用some exceptions)。

如果你想通过Wireshark使用这个端口,不幸的是你必须使用bind it back to the kernel。您还可以使用DPDK将数据包捕获到.pcap文件中,并使用Wireshark offline进行分析-如果这符合您的需要。

编辑-1\f25 UIO DPDK bind -1\f6有两种捕获信息包的方式

  1. 使用主要(所需) DPDK应用程序中的rte_pdump_init应用程序接口,并使用DPDK示例dpdk-pdump为所需队列捕获RX或TX数据包。
  2. 解除设备与UIO的绑定,并将其绑定回netdev接口的内核驱动程序。使用特殊参数--vdev=net_pcap0,iface=[kernel nic interface instance]

启动DPDK rte_eal_init

注意:在选项2中,可以运行Wireshark并捕获数据包。但是会失去性能和DPDK特定的功能。

票数 0
EN

Stack Overflow用户

发布于 2019-12-21 01:49:22

解决方案是使用pdump应用程序。正如其他人所提到的,一旦DPDK应用程序获得了网卡的所有权,内核将看不到数据包,也不会触发tcpdump钩子。该文档解释了如何: i)编译支持pdump和pcap的dpdk;ii)启用您的主进程-应用程序-将数据包信息提供给辅助进程- pdump sample application

然后,可以将生成的pcap与wireshark一起使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55153654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档