我有一个基于 linux 系统的基于 DPDK 的网络应用程序。我想将它移植到 netmap 以克服我使用基于 Intel 的 NIC 的限制。在我基于 DPDK 的应用程序中,我使用了 DPDK 提供的一些库(如 rte_ring、rte_mempool、rte_hash 等)。有什么办法我仍然可以使用它们,还是必须用非 DPDK 库替换它们。将应用程序移植到 Netmap 的最快和最好的方法是什么?
问问题
492 次
2 回答
0
最简单的方法是让您的应用程序保持原样,而是使用 DPDK 的半虚拟化驱动程序(即 virtio-net 或 vmxnet3)或 DPDK 的纯软件 PMD 之一(即 af_packet、tap 或 pcap)。
以下是 DPDK NIC 驱动程序文档的链接以获取更多信息: http ://dpdk.org/doc/guides/nics/index.html
于 2017-06-28T12:00:52.440 回答
0
你的问题有两个部分
- netmap 来克服我使用基于 Intel 的 NIC 的限制
- 基于 DPDK 的应用程序我正在使用 DPDK 提供的一些库(如 rte_ring、rte_mempool、rte_hash 等)
[Answer-1] netmap 下大部分内核支持的网卡列表为 i40e, e1000, igb, ixgbe, ixgbevf, e1000e, veth, virtio_net, vmxnet3, forcedeth, r816
. 链接到 github 网络地图。因此正式的非英特尔网卡是 mxl5。
[Answer-2] 关于端口,我强烈建议检查DPDK 16.05 中的示例网络图。这将为使用 DPDK 库时如何用 netmap 替换 RX-TX 突发提供线索。如果要完全删除 DPDK 库,请尝试使用uapi
支持的链表、哈希表等。
于 2020-12-08T04:59:34.360 回答