我有一个基于DPDK的网络应用程序,用于基于Linux的系统。我想将其移植到netmap以克服我使用基于Intel的NIC的限制。在我的基于DPDK的应用程序中,我使用了DPDK提供的一些库(如rte_ring,rte_mempool,rte_hash等)。有什么方法我仍然可以使用它们或我必须用非DPDK库替换它们。什么是将应用程序移植到Netmap的最快捷最好的方法?
答案 0 :(得分:0)
最简单的方法是保持您的应用程序不变,而是使用DPDK的半虚拟化驱动程序(即virtio-net或vmxnet3)或DPDK的纯软件PMD之一(即af_packet,tap或pcap)。
以下是DPDK网卡驱动程序文档的链接,以获取更多信息: http://dpdk.org/doc/guides/nics/index.html
答案 1 :(得分:0)
您的问题分为两部分
[Answer-1] netmap下大多数内核支持的NIC列表为 i40e, e1000, igb, ixgbe, ixgbevf, e1000e, veth, virtio_net, vmxnet3, forcedeth, r816
。 link to github netmap。因此,non intel网卡的正式名称是mxl5。
关于端口的[Answer-2],我强烈建议选中sample netmap in DPDK 16.05。这将提供有关在使用DPDK库时如何用netmap替换RX-TX突发的线索。如果要完全删除DPDK库,请尝试使用uapi
支持的链表,哈希表等。