如何在自己的dpdk app中使用librte_pmd_pcap的dpdk进行抓包?
How to use librte_pmd_pcap of dpdk in our own dpdk app for packet capturing?
我是 DPDK 的新手,我正在尝试编写自己的应用程序,它将以线速捕获数据包。我可以将默认内核 space libpcap long 与 dpdk ring 和 lcore 一起使用吗?或者我可以使用作为 dpdk 包一部分的 librte_pmd_pcap 吗?
Librte_pmd_pcap 内部使用内核 space libpcap。
而且我不知道如何在我自己的 dpdk 应用程序中使用 librte_pmd_pcap。
有人可以帮助我在我们自己的 dpdk 应用程序中使用 librte_pmd_pcap 来捕获 tcp 数据包。
*我测试了dpdk包自带的testpmd应用,testpmd运行良好。我需要你的帮助来编写我自己的 dpdk 应用程序。提前致谢。
如果 "the librte_pmd_pcap" 你指的是 this source file,它使用 libpcap,它是一个 用户模式 库;它不是内核的一部分。它在它支持的操作系统(复数)上使用内核模式机制;它在 *BSD、OS X 和 Solaris 11 上使用 BPF;它在 Linux 上使用 PF_PACKET 套接字(除非你使用的是古老的 Linux,在这种情况下它使用 SOCK_PACKET 套接字);等..
您可以直接使用 libpcap,它将使用与任何其他使用 libpcap 的代码相同的内核机制,包括我链接到的代码。
我能够将 rte_eth_pcap.c 包含到应用程序代码中并访问 api。这让我可以在我的应用程序中使用 -vdev EAL 选项。
我是 DPDK 的新手,我正在尝试编写自己的应用程序,它将以线速捕获数据包。我可以将默认内核 space libpcap long 与 dpdk ring 和 lcore 一起使用吗?或者我可以使用作为 dpdk 包一部分的 librte_pmd_pcap 吗?
Librte_pmd_pcap 内部使用内核 space libpcap。
而且我不知道如何在我自己的 dpdk 应用程序中使用 librte_pmd_pcap。 有人可以帮助我在我们自己的 dpdk 应用程序中使用 librte_pmd_pcap 来捕获 tcp 数据包。
*我测试了dpdk包自带的testpmd应用,testpmd运行良好。我需要你的帮助来编写我自己的 dpdk 应用程序。提前致谢。
如果 "the librte_pmd_pcap" 你指的是 this source file,它使用 libpcap,它是一个 用户模式 库;它不是内核的一部分。它在它支持的操作系统(复数)上使用内核模式机制;它在 *BSD、OS X 和 Solaris 11 上使用 BPF;它在 Linux 上使用 PF_PACKET 套接字(除非你使用的是古老的 Linux,在这种情况下它使用 SOCK_PACKET 套接字);等..
您可以直接使用 libpcap,它将使用与任何其他使用 libpcap 的代码相同的内核机制,包括我链接到的代码。
我能够将 rte_eth_pcap.c 包含到应用程序代码中并访问 api。这让我可以在我的应用程序中使用 -vdev EAL 选项。