net/pcap: enable infinitely Rx a pcap file
authorCian Ferriter <cian.ferriter@intel.com>
Fri, 14 Jun 2019 14:43:37 +0000 (15:43 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 28 Jun 2019 18:32:18 +0000 (20:32 +0200)
commita3f5252e5cbdabe3f65c6077c4e208d6100f3f74
treed38ae5a8c682deab80ed67484d91a20a37049b23
parentda6ba28f05407d161a7ee113bfcdf713e4a2c909
net/pcap: enable infinitely Rx a pcap file

It can be useful to use pcap files for some rudimental performance
testing. This patch enables this functionality in the pcap driver.

At a high level, this works by creating a ring of sufficient size to
store the packets in the pcap file passed to the application. When the
rx function for this mode is called, packets are dequeued from the ring
for use by the application and also enqueued back on to the ring to be
"received" again.

A tx_drop mode is also added since transmitting to a tx_pcap file isn't
desirable at a high traffic rate.

Jumbo frames are not supported in this mode. When filling the ring at rx
queue setup time, the presence of multi segment mbufs is checked for.
The PMD will exit on detection of these multi segment mbufs.

Signed-off-by: Cian Ferriter <cian.ferriter@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
doc/guides/nics/pcap_ring.rst
drivers/net/pcap/rte_eth_pcap.c