1
votes

I have a DPDK based network application for linux based systems. I want to port it to netmap to overcome my restriction of using Intel based NICs. In my DPDK based application I'm using some libraries (like rte_ring, rte_mempool, rte_hash, etc.) provided by DPDK. Is there any way I can still use them or do I have to replace them with non DPDK libraries. What will be quickest and best way to port the application to Netmap?

2

2 Answers

0
votes

The easiest way is to leave your application as is, but instead use a DPDK's paravirtualized driver (i.e. virtio-net or vmxnet3) or one of DPDK's pure software PMDs (i.e. af_packet, tap or pcap).

Here is the link to the DPDK NIC Driver documentation for more information: http://dpdk.org/doc/guides/nics/index.html

0
votes

There are 2 parts to your question

  1. netmap to overcome my restriction of using Intel-based NIC
  2. DPDK based application I'm using some libraries (like rte_ring, rte_mempool, rte_hash, etc.) provided by DPDK

[Answer-1] List of NIC supported in most of the kernel under netmap are i40e, e1000, igb, ixgbe, ixgbevf, e1000e, veth, virtio_net, vmxnet3, forcedeth, r816. link to github netmap. Hence officially non intel NIC is mxl5.

[Answer-2] with regards to port, I highly recommend check sample netmap in DPDK 16.05. This will give clues how to replace RX-TX burst with netmap while using DPDK libraries. If DPDK libraries are to be fully removed, please try to use uapi supported linked list, hash tables etc.