C 如何将基于DPDK的应用程序移植到Netmap?

C 如何将基于DPDK的应用程序移植到Netmap?,c,linux,network-programming,dpdk,C,Linux,Network Programming,Dpdk,我有一个基于DPDK的网络应用程序,用于基于linux的系统。我想将其移植到netmap,以克服使用基于Intel的NIC的限制。在基于DPDK的应用程序中,我使用了DPDK提供的一些库(如rte_环、rte_mempool、rte_散列等)。有没有办法我仍然可以使用它们,或者我必须用非DPDK库替换它们。将应用程序移植到Netmap的最快和最好的方法是什么?最简单的方法是让应用程序保持原样,而是使用DPDK的半虚拟化驱动程序(即virtio net或vmxnet3)或DPDK的纯软件PMD之一

我有一个基于DPDK的网络应用程序,用于基于linux的系统。我想将其移植到netmap,以克服使用基于Intel的NIC的限制。在基于DPDK的应用程序中,我使用了DPDK提供的一些库(如rte_环、rte_mempool、rte_散列等)。有没有办法我仍然可以使用它们,或者我必须用非DPDK库替换它们。将应用程序移植到Netmap的最快和最好的方法是什么?

最简单的方法是让应用程序保持原样,而是使用DPDK的半虚拟化驱动程序(即virtio net或vmxnet3)或DPDK的纯软件PMD之一(即af_数据包、tap或pcap)

以下是指向DPDK NIC驱动程序文档的链接,以了解更多信息:
最简单的方法是让应用程序保持原样,而是使用DPDK的半虚拟化驱动程序(即virtio net或vmxnet3)或DPDK的纯软件PMD之一(即af_数据包、tap或pcap)

以下是指向DPDK NIC驱动程序文档的链接,以了解更多信息:
你的问题有两个部分

  • netmap克服了我使用基于Intel的NIC的限制
  • 基于DPDK的应用程序我正在使用DPDK提供的一些库(如rte_ring、rte_mempool、rte_hash等)
  • [答-1]netmap下大多数内核支持的NIC列表为
    i40e、e1000、igb、ixgbe、ixgbevf、e1000e、veth、virtio_net、vmxnet3、forcedeth、r816
    。因此,正式的NIC是mxl5


    [答-2]关于端口,我强烈建议检查。这将为在使用DPDK库时如何用netmap替换RX-TX突发提供线索。如果要完全删除DPDK库,请尝试使用
    uapi
    支持的链表、哈希表等。

    您的问题有两个部分

  • netmap克服了我使用基于Intel的NIC的限制
  • 基于DPDK的应用程序我正在使用DPDK提供的一些库(如rte_ring、rte_mempool、rte_hash等)
  • [答-1]netmap下大多数内核支持的NIC列表为
    i40e、e1000、igb、ixgbe、ixgbevf、e1000e、veth、virtio_net、vmxnet3、forcedeth、r816
    。因此,正式的NIC是mxl5

    [答-2]关于端口,我强烈建议检查。这将为在使用DPDK库时如何用netmap替换RX-TX突发提供线索。如果要完全删除DPDK库,请尝试使用
    uapi
    支持的链表、哈希表等