[dpdk-dev] [PATCH] librte_pmd_packet: add PMD for AF_PACKET-based virtual devices
Thomas Monjalon
thomas.monjalon at 6wind.com
Fri Jul 11 15:26:39 CEST 2014
2014-07-10 16:32, John W. Linville:
> This is a Linux-specific virtual PMD driver backed by an AF_PACKET
> socket. This implementation uses mmap'ed ring buffers to limit copying
> and user/kernel transitions. The PACKET_FANOUT_HASH behavior of
> AF_PACKET is used for frame reception. In the current implementation,
> Tx and Rx queues are always paired, and therefore are always equal
> in number -- changing this would be a Simple Matter Of Programming.
>
> Interfaces of this type are created with a command line option like
> "--vdev=eth_packet0,iface=...". There are a number of options availabe
> as arguments:
>
> - Interface is chosen by "iface" (required)
> - Number of queue pairs set by "qpairs" (optional, default: 16)
> - AF_PACKET MMAP block size set by "blocksz" (optional, default: 4096)
> - AF_PACKET MMAP frame size set by "framesz" (optional, default: 2048)
> - AF_PACKET MMAP frame count set by "framecnt" (optional, default: 512)
>
> Signed-off-by: John W. Linville <linville at tuxdriver.com>
> ---
> This PMD is intended to provide a means for using DPDK on a broad
> range of hardware without hardware-specific PMDs and (hopefully)
> with better performance than what PCAP offers in Linux. This might
> be useful as a development platform for DPDK applications when
> DPDK-supported hardware is expensive or unavailable.
Thank you for this nice work.
I think it would be well suited to host this PMD as an external one in order
to make it work also with DPDK 1.7.0.
--
Thomas
More information about the dev
mailing list