l3fwd 抓包
Packet capturing in l3fwd
我正在进行 dpdk 实验。在我的设置中,我有两台物理机器,Host1 和 Host2,每台机器上都有 2 个 10Gbps NIC。 Host1 的一个接口与 dpdk 绑定并使用 pktgen 生成流量。 Host2 的两个接口都与 dpdk 绑定,l3fwd 是 运行 作为数据包转发应用程序。 Host2 的第二个 NIC 用于捕获数据包。我想通过查看在 Host2 的每个接口上花费的时间来细分数据包所经历的延迟。
有没有办法抓包dpdk接口的包,使用l3fwd作为包转发应用?
对于 DPDK 接口,您可以使用 DPDK-PDUMP 捕获从 DPDK 绑定网卡获取数据包。参考 https://doc.dpdk.org/guides-16.07/sample_app_ug/pdump.html
.
应用程序 l3fwd 将在 rte_eal_init
之后用 rte_pdump_init
API 调用进行修改。这将启用多进程通信通道,当 dpdk-pdump(辅助)应用程序是 运行 rte_ring 并且启用数据包复制以复制内容时。
注意:请检查DPDK PDUmp App 用法。例如从端口 0 和队列 1 复制数据包使用 sudo ./[path to applciation]/dpdk-pdump -- --pdump 'port=0,queue=1,rx-dev=/tmp/port0_queue1.pcap'
pdump 是一个很好的工具,可以在绑定到 dpdk 的任何端口捕获数据包。按如下方式启动 pdump 工具:
sudo ./build/app/dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/tmp/capture.pcap'
并且收到数据包后,运行在home/temp目录下执行以下命令查看
tcpdump -nr ./capture.pcap
我正在进行 dpdk 实验。在我的设置中,我有两台物理机器,Host1 和 Host2,每台机器上都有 2 个 10Gbps NIC。 Host1 的一个接口与 dpdk 绑定并使用 pktgen 生成流量。 Host2 的两个接口都与 dpdk 绑定,l3fwd 是 运行 作为数据包转发应用程序。 Host2 的第二个 NIC 用于捕获数据包。我想通过查看在 Host2 的每个接口上花费的时间来细分数据包所经历的延迟。
有没有办法抓包dpdk接口的包,使用l3fwd作为包转发应用?
对于 DPDK 接口,您可以使用 DPDK-PDUMP 捕获从 DPDK 绑定网卡获取数据包。参考 https://doc.dpdk.org/guides-16.07/sample_app_ug/pdump.html
.
应用程序 l3fwd 将在 rte_eal_init
之后用 rte_pdump_init
API 调用进行修改。这将启用多进程通信通道,当 dpdk-pdump(辅助)应用程序是 运行 rte_ring 并且启用数据包复制以复制内容时。
注意:请检查DPDK PDUmp App 用法。例如从端口 0 和队列 1 复制数据包使用 sudo ./[path to applciation]/dpdk-pdump -- --pdump 'port=0,queue=1,rx-dev=/tmp/port0_queue1.pcap'
pdump 是一个很好的工具,可以在绑定到 dpdk 的任何端口捕获数据包。按如下方式启动 pdump 工具:
sudo ./build/app/dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/tmp/capture.pcap'
并且收到数据包后,运行在home/temp目录下执行以下命令查看
tcpdump -nr ./capture.pcap