rmmod virtio-pci ixgbevf
modprobe uio
- insmod /root/dpdk/x86_64-default-linux-gcc/kmod/igb_uio.ko
+ insmod /root/dpdk/<build_dir>/kernel/linux/igb_uio/igb_uio.ko
/root/dpdk/usertools/dpdk-devbind.py -b igb_uio 0000:00:03.0
/root/dpdk/usertools/dpdk-devbind.py -b igb_uio 0000:00:04.0
# use for bonding of virtio and vf tests in VM
- /root/dpdk/x86_64-default-linux-gcc/app/testpmd \
+ /root/dpdk/<build_dir>/app/dpdk-testpmd \
-l 0-3 -n 4 --socket-mem 350 -- --i --port-topology=chained
.. _lm_bond_virtio_sriov_switch_conf:
rmmod virtio-pci
modprobe uio
- insmod /root/dpdk/x86_64-default-linux-gcc/kmod/igb_uio.ko
+ insmod /root/dpdk/<build_dir>/kernel/linux/igb_uio/igb_uio.ko
/root/dpdk/usertools/dpdk-devbind.py -b igb_uio 0000:00:03.0
/root/dpdk/usertools/dpdk-devbind.py -b igb_uio 0000:00:04.0
# Run testpmd for use with vhost_user sample app.
# test system has 8 cpus (0-7), use cpus 2-7 for VM
- /root/dpdk/x86_64-default-linux-gcc/app/testpmd \
+ /root/dpdk/<build_dir>/app/dpdk-testpmd \
-l 0-5 -n 4 --socket-mem 350 -- --burst=64 --i
initialization code. Refer to the ``app/test-pmd/testpmd.c`` code and look
for ``pdump`` keyword to see how this is done.
-* The ``dpdk-pdump`` tool depends on the libpcap based PMD which is disabled
- by default in the build configuration files, owing to an external dependency
- on the libpcap development files. Once the libpcap development files are
- installed, the libpcap based PMD can be enabled by setting
- ``CONFIG_RTE_LIBRTE_PMD_PCAP=y`` and recompiling the DPDK.
+* The ``dpdk-pdump`` tool depends on the libpcap based PMD.
Test Environment
Packet capturing on a DPDK port using the dpdk-pdump tool.
-Configuration
--------------
-
-Modify the DPDK primary application to initialize the packet capture framework
-as mentioned in the above notes and enable the following config options and
-build DPDK::
-
- CONFIG_RTE_LIBRTE_PMD_PCAP=y
- CONFIG_RTE_LIBRTE_PDUMP=y
-
-
Running the Application
-----------------------
#. Launch testpmd as the primary application::
- sudo ./app/testpmd -c 0xf0 -n 4 -- -i --port-topology=chained
+ sudo <build_dir>/app/dpdk-testpmd -c 0xf0 -n 4 -- -i --port-topology=chained
#. Launch the pdump tool as follows::
- sudo ./build/app/dpdk-pdump -- \
+ sudo <build_dir>/app/dpdk-pdump -- \
--pdump 'port=0,queue=*,rx-dev=/tmp/capture.pcap'
#. Send traffic to dpdk_port0 from traffic generator.
DPDK build
~~~~~~~~~~
-Build DPDK:
-
- .. code-block:: console
-
- git clone git://dpdk.org/dpdk
- cd dpdk
- export RTE_SDK=$PWD
- make install T=x86_64-native-linux-gcc DESTDIR=install
+See :doc:`../linux_gsg/build_dpdk` for details.
Testpmd launch
.. code-block:: console
modprobe vfio-pci
- $RTE_SDK/install/sbin/dpdk-devbind -b vfio-pci 0000:11:00.0 0000:11:00.1
+ usertools/dpdk-devbind -b vfio-pci 0000:11:00.0 0000:11:00.1
.. Note::
.. code-block:: console
- $RTE_SDK/install/bin/testpmd -l 0,2,3,4,5 --socket-mem=1024 -n 4 \
+ <build_dir>/app/dpdk-testpmd -l 0,2,3,4,5 --socket-mem=1024 -n 4 \
--vdev 'net_vhost0,iface=/tmp/vhost-user1' \
--vdev 'net_vhost1,iface=/tmp/vhost-user2' -- \
--portmask=f -i --rxq=1 --txq=1 \
DPDK build
~~~~~~~~~~
-Build DPDK:
-
- .. code-block:: console
-
- git clone git://dpdk.org/dpdk
- cd dpdk
- export RTE_SDK=$PWD
- make install T=x86_64-native-linux-gcc DESTDIR=install
+See :doc:`../linux_gsg/build_dpdk` for details.
Testpmd launch
.. code-block:: console
- $RTE_SDK/usertools/dpdk-devbind.py -b vfio-pci 0000:00:10.0 0000:00:11.0
+ usertools/dpdk-devbind.py -b vfio-pci 0000:00:10.0 0000:00:11.0
Start testpmd:
.. code-block:: console
- $RTE_SDK/install/bin/testpmd -l 0,1,2 --socket-mem 1024 -n 4 \
+ <build_dir>/app/dpdk-testpmd -l 0,1,2 --socket-mem 1024 -n 4 \
--proc-type auto --file-prefix pg -- \
--portmask=3 --forward-mode=macswap --port-topology=chained \
--disable-rss -i --rxq=1 --txq=1 \
#. Run a DPDK application on the PF in the host::
- testpmd -l 0-7 -n 4 -- -i --txqflags=0
+ dpdk-testpmd -l 0-7 -n 4 -- -i --txqflags=0
#. Bind the VF port to ``igb_uio`` in the VM::
#. Run a DPDK application on the VF in the VM::
- testpmd -l 0-7 -n 4 -- -i --txqflags=0
+ dpdk-testpmd -l 0-7 -n 4 -- -i --txqflags=0
Common functions of IXGBE and I40E
FROM ubuntu:latest
WORKDIR /usr/src/dpdk
COPY . /usr/src/dpdk
- ENV PATH "$PATH:/usr/src/dpdk/x86_64-native-linux-gcc/app/"
+ ENV PATH "$PATH:/usr/src/dpdk/<build_dir>/app/"
EOT
#. Build a Docker image.