读取 dpdk 输出
Reading dpdk output
我对DPDK很陌生,这是我刚被分配到的一个新项目。
有一个硬件流量生成器设备,通过以太网连接到 PC。目前情况如下:
- 将数据从流量生成器发送到 PC,
- DPDK收到后进行相应的处理,
- 最后,数据被发送回流量生成器。
目标是:
- 将数据从流量生成器发送到 PC,
- DPDK收到后进行相应的处理,
- DPDK 输出由 python 脚本处理,然后发送到适当的端口。
我们 运行 遇到的问题是找到关于如何从 DPDK 获取输出的想法,因为它想将流量直接发送到流量生成器的端口。
在此先感谢您的回答和建议!
有多种选项可以将 DPDK 与其他应用程序集成,例如:
Tun/tap 轮询模式驱动程序:https://doc.dpdk.org/guides/nics/tap.html
DPDK 应用程序可以将流量转发到一个 tap vdev 并从另一个进行轮询。而 python 或其他应用程序可以从一个内核接口读取数据包并发送到另一个。
KNI 轮询模式驱动程序:https://doc.dpdk.org/guides/nics/kni.html
同上,但使用专有(更快)的驱动程序。
Libpcap 轮询模式驱动程序:https://doc.dpdk.org/guides/nics/pcap_ring.html
DPDK 应用程序可以将 pcap 格式的数据包发送到 unix 套接字,而 python 应用程序可以从套接字读取数据。
请注意,上面列出的所有选项都无法处理每秒超过 1M 的数据包,更不用说 Python 性能了。即使处理1M数据包也是一个挑战...
如果您需要处理超过 1M 的 PPS,您可能应该看看别处,选项很少...
虽然这个问题有点太宽泛了,但我希望现在您能找到一些提示;)
我对DPDK很陌生,这是我刚被分配到的一个新项目。
有一个硬件流量生成器设备,通过以太网连接到 PC。目前情况如下:
- 将数据从流量生成器发送到 PC,
- DPDK收到后进行相应的处理,
- 最后,数据被发送回流量生成器。
目标是:
- 将数据从流量生成器发送到 PC,
- DPDK收到后进行相应的处理,
- DPDK 输出由 python 脚本处理,然后发送到适当的端口。
我们 运行 遇到的问题是找到关于如何从 DPDK 获取输出的想法,因为它想将流量直接发送到流量生成器的端口。
在此先感谢您的回答和建议!
有多种选项可以将 DPDK 与其他应用程序集成,例如:
Tun/tap 轮询模式驱动程序:https://doc.dpdk.org/guides/nics/tap.html
DPDK 应用程序可以将流量转发到一个 tap vdev 并从另一个进行轮询。而 python 或其他应用程序可以从一个内核接口读取数据包并发送到另一个。
KNI 轮询模式驱动程序:https://doc.dpdk.org/guides/nics/kni.html
同上,但使用专有(更快)的驱动程序。
Libpcap 轮询模式驱动程序:https://doc.dpdk.org/guides/nics/pcap_ring.html
DPDK 应用程序可以将 pcap 格式的数据包发送到 unix 套接字,而 python 应用程序可以从套接字读取数据。
请注意,上面列出的所有选项都无法处理每秒超过 1M 的数据包,更不用说 Python 性能了。即使处理1M数据包也是一个挑战...
如果您需要处理超过 1M 的 PPS,您可能应该看看别处,选项很少...
虽然这个问题有点太宽泛了,但我希望现在您能找到一些提示;)