In addition to Poll Mode Drivers (PMDs) for physical and virtual hardware,
the DPDK also includes pure-software PMDs, two of these drivers are:
-* A libpcap -based PMD (librte_pmd_pcap) that reads and writes packets using libpcap,
+* A libpcap -based PMD (**librte_net_pcap**) that reads and writes packets using libpcap,
- both from files on disk, as well as from physical NIC devices using standard Linux kernel drivers.
-* A ring-based PMD (librte_pmd_ring) that allows a set of software FIFOs (that is, rte_ring)
+* A ring-based PMD (**librte_net_ring**) that allows a set of software FIFOs (that is, rte_ring)
to be accessed using the PMD APIs, as though they were physical NICs.
.. note::
- The libpcap -based PMD is disabled by default in the build configuration files,
- owing to an external dependency on the libpcap development files which must be installed on the board.
- Once the libpcap development files are installed,
- the library can be enabled by setting CONFIG_RTE_LIBRTE_PMD_PCAP=y and recompiling the DPDK.
+ The libpcap -based PMD has an external dependency on the libpcap development files which must
+ be installed on the board.
Using the Drivers from the EAL Command Line
-------------------------------------------
.. code-block:: console
- $RTE_TARGET/app/testpmd -l 0-3 -n 4 \
+ ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
--vdev 'net_pcap0,stream_opt0=..,stream_opt1=..' \
--vdev='net_pcap1,stream_opt0=..'
.. code-block:: console
- $RTE_TARGET/app/testpmd -l 0-3 -n 4 \
+ ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
--vdev 'net_pcap0,rx_pcap=file_rx.pcap,tx_pcap=file_tx.pcap' \
-- --port-topology=chained
.. code-block:: console
- $RTE_TARGET/app/testpmd -l 0-3 -n 4 \
+ ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
--vdev 'net_pcap0,rx_iface=eth0,tx_pcap=file_tx.pcap' \
-- --port-topology=chained
.. code-block:: console
- $RTE_TARGET/app/testpmd -l 0-3 -n 4 \
+ ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
--vdev 'net_pcap0,rx_pcap=file_rx.pcap,tx_iface=eth1' \
-- --port-topology=chained
.. code-block:: console
- $RTE_TARGET/app/testpmd -l 0-3 -n 4 \
+ ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
--vdev 'net_pcap0,iface=eth0' --vdev='net_pcap1,iface=eth1'
Enable 2 tx queues on a network interface:
.. code-block:: console
- $RTE_TARGET/app/testpmd -l 0-3 -n 4 \
+ ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
--vdev 'net_pcap0,rx_iface=eth1,tx_iface=eth1,tx_iface=eth1' \
-- --txq 2
.. code-block:: console
- $RTE_TARGET/app/testpmd -l 0-3 -n 4 \
+ ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
--vdev 'net_pcap0,rx_iface_in=eth1,tx_iface=eth1'
Using libpcap-based PMD with the testpmd Application
.. code-block:: console
- $RTE_TARGET/app/testpmd -l 0-3 -n 4 \
+ ./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
--vdev 'net_pcap0,rx_pcap=file_rx.pcap,tx_pcap=file_tx.pcap' \
-- --port-topology=chained --no-flush-rx
.. code-block:: console
- ./testpmd -l 1-3 -n 4 --vdev=net_ring0 --vdev=net_ring1 -- -i
+ ./dpdk-testpmd -l 1-3 -n 4 --vdev=net_ring0 --vdev=net_ring1 -- -i
EAL: Detected lcore 1 as core 1 on socket 0
...