doc: remove references to make from apps guide

While make has been deprecated for DPDK, it's still applicable for
some example apps to be built standalone, this patch adjusts the
guides to take that into consideration.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Nicolas Chautru <nicolas.chautru@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
Ciara Power 2020-10-21 09:17:20 +01:00 committed by Thomas Monjalon
parent 6250e968ac
commit e2a94f9ad3
51 changed files with 217 additions and 374 deletions

View File

@ -31,30 +31,12 @@ Limitations
Compiling the Application
-------------------------
#. DPDK needs to be built with ``baseband_turbo_sw`` PMD driver enabled along
with ``FLEXRAN SDK`` Libraries. Refer to *SW Turbo Poll Mode Driver*
documentation for more details on this.
DPDK needs to be built with ``baseband_turbo_sw`` PMD driver enabled along
with ``FLEXRAN SDK`` Libraries. Refer to *SW Turbo Poll Mode Driver*
documentation for more details on this.
#. Go to the example directory:
To compile the sample application see :doc:`compiling`.
.. code-block:: console
export RTE_SDK=/path/to/rte_sdk
cd ${RTE_SDK}/examples/bbdev_app
#. Set the target (a default target is used if not specified). For example:
.. code-block:: console
export RTE_TARGET=x86_64-native-linux-gcc
See the *DPDK Getting Started Guide* for possible RTE_TARGET values.
#. Build the application:
.. code-block:: console
make
Running the Application
-----------------------
@ -63,8 +45,8 @@ The application accepts a number of command line options:
.. code-block:: console
$ ./build/bbdev [EAL options] -- [-e ENCODING_CORES] [-d DECODING_CORES] /
[-p ETH_PORT_ID] [-b BBDEV_ID]
$ ./<build_dir>/examples/dpdk-bbdev [EAL options] -- [-e ENCODING_CORES] /
[-d DECODING_CORES] [-p ETH_PORT_ID] [-b BBDEV_ID]
where:
@ -84,8 +66,8 @@ issue the command:
.. code-block:: console
$ ./build/bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> -c 0x38 --socket-mem=2,2 \
--file-prefix=bbdev -- -e 0x10 -d 0x20
$ ./<build_dir>/examples/dpdk-bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> \
-c 0x38 --socket-mem=2,2 --file-prefix=bbdev -- -e 0x10 -d 0x20
where, NIC0PCIADDR is the PCI address of the Rx port

View File

@ -52,7 +52,7 @@ To run the application in linux environment, issue the following command:
.. code-block:: console
$ ./build/cmdline -l 0-3 -n 4
$ ./<build_dir>/examples/dpdk-cmdline -l 0-3 -n 4
Refer to the *DPDK Getting Started Guide* for general information on running applications
and the Environment Abstraction Layer (EAL) options.

View File

@ -9,100 +9,75 @@ This section explains how to compile the DPDK sample applications.
To compile all the sample applications
--------------------------------------
Set the path to DPDK source code if its not set:
Go to DPDK build directory:
.. code-block:: console
export RTE_SDK=/path/to/rte_sdk
cd dpdk/<build_dir>
Go to DPDK source:
.. code-block:: console
cd $RTE_SDK
Build DPDK:
Enable examples compilation:
.. code-block:: console
make defconfig
make
meson configure -Dexamples=all
Build the sample applications:
Build:
.. code-block:: console
export RTE_TARGET=build
make -C examples
ninja
For other possible ``RTE_TARGET`` values and additional information on
compiling see
For additional information on compiling see
:ref:`Compiling DPDK on Linux <linux_gsg_compiling_dpdk>` or
:ref:`Compiling DPDK on FreeBSD <building_from_source>`.
Applications are output to: ``$RTE_SDK/examples/app-dir/build`` or
``$RTE_SDK/examples/app-dir/$RTE_TARGET``.
Applications are output to: ``dpdk/<build_dir>/examples``.
In the example above the compiled application is written to the ``build`` subdirectory.
To have the applications written to a different location,
the ``O=/path/to/build/directory`` option may be specified in the make command.
To compile a single application
-------------------------------
Using meson
~~~~~~~~~~~
Go to DPDK build directory:
.. code-block:: console
make O=/tmp
cd dpdk/<build_dir>
To build the applications for debugging use the ``DEBUG`` option.
Enable example app compilation:
.. code-block:: console
meson configure -Dexamples=helloworld
Build:
.. code-block:: console
ninja
Using Make
~~~~~~~~~~
Pkg-config is used when building an example app standalone using make, please
see :ref:`building_app_using_installed_dpdk` for more information.
Go to the sample application directory. Unless otherwise specified the sample
applications are located in ``dpdk/examples/``.
Build the application:
.. code-block:: console
make
To build the application for debugging use the ``DEBUG`` option.
This option adds some extra flags, disables compiler optimizations and
sets verbose output.
.. code-block:: console
make DEBUG=1
To compile a single application
-------------------------------
Set the path to DPDK source code:
.. code-block:: console
export RTE_SDK=/path/to/rte_sdk
Go to DPDK source:
.. code-block:: console
cd $RTE_SDK
Build DPDK:
.. code-block:: console
make defconfig
make
Go to the sample application directory. Unless otherwise specified the sample
applications are located in ``$RTE_SDK/examples/``.
Build the application:
.. code-block:: console
export RTE_TARGET=build
make
To cross compile the sample application(s)
------------------------------------------
For cross compiling the sample application(s), please append 'CROSS=$(CROSS_COMPILER_PREFIX)' to the 'make' command.
In example of AARCH64 cross compiling:
.. code-block:: console
export RTE_TARGET=build
export RTE_SDK=/path/to/rte_sdk
make -C examples CROSS=aarch64-linux-gnu-
or
make CROSS=aarch64-linux-gnu-

View File

@ -42,7 +42,7 @@ Running the Application
.. code-block:: console
./build/distributor_app [EAL options] -- -p PORTMASK
./<build-dir>/examples/dpdk-distributor [EAL options] -- -p PORTMASK
where,
@ -53,7 +53,7 @@ Running the Application
.. code-block:: console
$ ./build/distributor_app -l 1-9,22 -n 4 -- -p f
$ ./<build-dir>/examples/dpdk-distributor -l 1-9,22 -n 4 -- -p f
#. Refer to the DPDK Getting Started Guide for general information on running
applications and the Environment Abstraction Layer (EAL) options.

View File

@ -24,7 +24,7 @@ The only available options are the standard ones for the EAL:
.. code-block:: console
./ethtool-app/${RTE_TARGET}/ethtool [EAL options]
./<build_dir>/examples/dpdk-ethtool [EAL options]
Refer to the *DPDK Getting Started Guide* for general information on
running applications and the Environment Abstraction Layer (EAL)

View File

@ -46,7 +46,8 @@ these settings is shown below:
.. code-block:: console
./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
./<build_dir>/examples/dpdk-eventdev_pipeline --vdev event_sw0 -- -r1 -t1 /
-e4 -w FF00 -s4 -n0 -c32 -W1000 -D
The application has some sanity checking built-in, so if there is a function
(e.g.; the RX core) which doesn't have a cpu core mask assigned, the application

View File

@ -70,9 +70,7 @@ Compiling the Application
* Compile Application
.. code-block:: console
make -C examples/fips_validation
To compile the sample application see :doc:`compiling`.
* Run ``dos2unix`` on the request files
@ -92,7 +90,7 @@ The application requires a number of command line options:
.. code-block:: console
./fips_validation [EAL options]
./dpdk-fips_validation [EAL options]
-- --req-file FILE_PATH/FOLDER_PATH
--rsp-file FILE_PATH/FOLDER_PATH
[--cryptodev DEVICE_NAME] [--cryptodev-id ID] [--path-is-folder]
@ -123,7 +121,7 @@ file for crypto_aesni_mb PMD, issue the command:
.. code-block:: console
$ ./fips_validation --vdev crypto_aesni_mb --
$ ./dpdk-fips_validation --vdev crypto_aesni_mb --
--req-file /PATH/TO/REQUEST/FILE.req --rsp-file ./PATH/TO/RESPONSE/FILE.rsp
--cryptodev crypto_aesni_mb
@ -132,7 +130,7 @@ data files in one folder for crypto_aesni_gcm PMD, issue the command:
.. code-block:: console
$ ./fips_validation --vdev crypto_aesni_gcm0 --
$ ./dpdk-fips_validation --vdev crypto_aesni_gcm0 --
--req-file /PATH/TO/REQUEST/FILE/FOLDER/
--rsp-file ./PATH/TO/RESPONSE/FILE/FOLDER/
--cryptodev-id 0 --path-is-folder

View File

@ -28,8 +28,8 @@ To run the example in a ``linux`` environment:
.. code-block:: console
cd ~/dpdk/examples/flow_classify
./build/flow_classify -c 4 -n 4 -- --rule_ipv4="../ipv4_rules_file.txt"
./<build_dir>/examples/dpdk-flow_classify -c 4 -n 4 -- /
--rule_ipv4="../ipv4_rules_file.txt"
Please refer to the *DPDK Getting Started Guide*, section
:doc:`../linux_gsg/build_sample_apps`

View File

@ -13,28 +13,7 @@ It is intended as a demonstration of the basic components RTE flow rules.
Compiling the Application
-------------------------
To compile the application export the path to the DPDK source tree and go to
the example directory:
.. code-block:: console
export RTE_SDK=/path/to/rte_sdk
cd ${RTE_SDK}/examples/flow_filtering
Set the target, for example:
.. code-block:: console
export RTE_TARGET=x86_64-native-linux-gcc
See the *DPDK Getting Started* Guide for possible ``RTE_TARGET`` values.
Build the application as follows:
.. code-block:: console
make
To compile the sample application see :doc:`compiling`.
Running the Application
@ -44,7 +23,7 @@ To run the example in a ``linux`` environment:
.. code-block:: console
./build/flow -l 1 -n 1
./<build_dir>/examples/dpdk-flow_filtering -l 1 -n 1
Refer to *DPDK Getting Started Guide* for general information on running
applications and the Environment Abstraction Layer (EAL) options.

View File

@ -21,7 +21,7 @@ To run the example in a linux environment:
.. code-block:: console
$ ./build/helloworld -l 0-3 -n 4
$ ./<build_dir>/examples/dpdk-helloworld -l 0-3 -n 4
Refer to *DPDK Getting Started Guide* for general information on running applications
and the Environment Abstraction Layer (EAL) options.

View File

@ -45,7 +45,7 @@ The application requires a number of command line options:
.. code-block:: console
./build/ioatfwd [EAL options] -- [-p MASK] [-q NQ] [-s RS] [-c <sw|hw>]
./<build_dir>/examples/dpdk-ioat [EAL options] -- [-p MASK] [-q NQ] [-s RS] [-c <sw|hw>]
[--[no-]mac-updating]
where,
@ -81,7 +81,7 @@ updating issue the command:
.. code-block:: console
$ ./build/ioatfwd -l 0-2 -n 2 -- -p 0x1 --mac-updating -c sw
$ ./<build_dir>/examples/dpdk-ioat -l 0-2 -n 2 -- -p 0x1 --mac-updating -c sw
To run the application in a Linux environment with 2 lcores (the main lcore,
plus one forwarding core), 2 ports (ports 0 and 1), hardware copying and no MAC
@ -89,7 +89,7 @@ updating issue the command:
.. code-block:: console
$ ./build/ioatfwd -l 0-1 -n 1 -- -p 0x3 --no-mac-updating -c hw
$ ./<build_dir>/examples/dpdk-ioat -l 0-1 -n 1 -- -p 0x3 --no-mac-updating -c hw
Refer to the *DPDK Getting Started Guide* for general information on
running applications and the Environment Abstraction Layer (EAL) options.

View File

@ -53,7 +53,7 @@ Application usage:
.. code-block:: console
./build/ip_fragmentation [EAL options] -- -p PORTMASK [-q NQ]
./<build_dir>/examples/dpdk-ip_fragmentation [EAL options] -- -p PORTMASK [-q NQ]
where:
@ -65,7 +65,7 @@ To run the example in linux environment with 2 lcores (2,4) over 2 ports(0,2) wi
.. code-block:: console
./build/ip_fragmentation -l 2,4 -n 3 -- -p 5
./<build_dir>/examples/dpdk-ip_fragmentation -l 2,4 -n 3 -- -p 5
EAL: coremask set to 14
EAL: Detected lcore 0 on socket 0
EAL: Detected lcore 1 on socket 1
@ -94,7 +94,7 @@ To run the example in linux environment with 1 lcore (4) over 2 ports(0,2) with
.. code-block:: console
./build/ip_fragmentation -l 4 -n 3 -- -p 5 -q 2
./<build_dir>/examples/dpdk-ip_fragmentation -l 4 -n 3 -- -p 5 -q 2
To test the application, flows should be set up in the flow generator that match the values in the
l3fwd_ipv4_route_array and/or l3fwd_ipv6_route_array table.

View File

@ -34,7 +34,7 @@ Running the application
The application startup command line is::
ip_pipeline [EAL_ARGS] -- [-s SCRIPT_FILE] [-h HOST] [-p PORT]
dpdk-ip_pipeline [EAL_ARGS] -- [-s SCRIPT_FILE] [-h HOST] [-p PORT]
The application startup arguments are:
@ -71,7 +71,7 @@ The following is an example command to run ip pipeline application configured fo
.. code-block:: console
$ ./build/ip_pipeline -c 0x3 -- -s examples/route_ecmp.cli
$ ./<build_dir>/examples/dpdk-ip_pipeline -c 0x3 -- -s examples/route_ecmp.cli
The application should start successfully and display as follows:

View File

@ -42,7 +42,7 @@ The application has a number of command line options:
.. code-block:: console
./build/ip_reassembly [EAL options] -- -p PORTMASK [-q NQ] [--maxflows=FLOWS>] [--flowttl=TTL[(s|ms)]]
./<build_dir>/examples/dpdk-ip_reassembly [EAL options] -- -p PORTMASK [-q NQ] [--maxflows=FLOWS>] [--flowttl=TTL[(s|ms)]]
where:
@ -61,7 +61,7 @@ To run the example in linux environment with 2 lcores (2,4) over 2 ports(0,2) wi
.. code-block:: console
./build/ip_reassembly -l 2,4 -n 3 -- -p 5
./<build_dir>/examples/dpdk-ip_reassembly -l 2,4 -n 3 -- -p 5
EAL: coremask set to 14
EAL: Detected lcore 0 on socket 0
EAL: Detected lcore 1 on socket 1
@ -92,7 +92,7 @@ To run the example in linux environment with 1 lcore (4) over 2 ports(0,2) with
.. code-block:: console
./build/ip_reassembly -l 4 -n 3 -- -p 5 -q 2
./<build_dir>/examples/dpdk-ip_reassembly -l 4 -n 3 -- -p 5 -q 2
To test the application, flows should be set up in the flow generator that match the values in the
l3fwd_ipv4_route_array and/or l3fwd_ipv6_route_array table.
@ -231,7 +231,8 @@ Debug logging and Statistics Collection
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The RTE_LIBRTE_IP_FRAG_TBL_STAT controls statistics collection for the IP Fragment Table.
This macro is disabled by default.
This macro is disabled by default, but it can be enabled by modifying the appropriate line
in ``config/rte_config.h``.
To make ip_reassembly print the statistics to the standard output,
the user must send either an USR1, INT or TERM signal to the process.
For all of these signals, the ip_reassembly process prints Fragment table statistics for each RX queue,

View File

@ -116,12 +116,6 @@ To compile the sample application see :doc:`compiling`.
The application is located in the ``ipsec-secgw`` sub-directory.
#. [Optional] Build the application for debugging:
This option adds some extra flags, disables compiler optimizations and
is verbose::
make DEBUG=1
Running the Application
-----------------------
@ -129,7 +123,7 @@ Running the Application
The application has a number of command line options::
./build/ipsec-secgw [EAL options] --
./<build_dir>/examples/dpdk-ipsec-secgw [EAL options] --
-p PORTMASK -P -u PORTMASK -j FRAMESIZE
-l -w REPLAY_WINOW_SIZE -e -a
-c SAD_CACHE_SIZE
@ -245,7 +239,7 @@ The mapping of lcores to port/queues is similar to other l3fwd applications.
For example, given the following command line to run application in poll mode::
./build/ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
--vdev "crypto_null" -- -p 0xf -P -u 0x3 \
--config="(0,0,20),(1,0,20),(2,0,21),(3,0,21)" \
-f /path/to/config_file --transfer-mode poll \
@ -297,7 +291,7 @@ where each option means:
Similarly for example, given the following command line to run application in
event app mode::
./build/ipsec-secgw -c 0x3 -- -P -p 0x3 -u 0x1 \
./<build_dir>/examples/dpdk-ipsec-secgw -c 0x3 -- -P -p 0x3 -u 0x1 \
-f /path/to/config_file --transfer-mode event \
--event-schedule-type parallel \
@ -336,7 +330,7 @@ For example, something like the following command line:
.. code-block:: console
./build/ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
./<build_dir>/examples/dpdk-ipsec-secgw -l 20,21 -n 4 --socket-mem 0,2048 \
-w 81:00.0 -w 81:00.1 -w 81:00.2 -w 81:00.3 \
--vdev "crypto_aesni_mb" --vdev "crypto_null" \
-- \

View File

@ -50,7 +50,7 @@ The application has a number of command line options:
.. code-block:: console
./build/ipv4_multicast [EAL options] -- -p PORTMASK [-q NQ]
./<build_dir>/examples/dpdk-ipv4_multicast [EAL options] -- -p PORTMASK [-q NQ]
where,
@ -67,7 +67,7 @@ Typically, to run the IPv4 Multicast sample application, issue the following com
.. code-block:: console
./build/ipv4_multicast -l 0-3 -n 3 -- -p 0x3 -q 1
./<build_dir>/examples/dpdk-ipv4_multicast -l 0-3 -n 3 -- -p 0x3 -q 1
In this command:

View File

@ -49,7 +49,7 @@ The application has a number of command line options:
.. code-block:: console
./build/l2fwd-keepalive [EAL options] \
./<build_dir>/examples/dpdk-l2fwd-keepalive [EAL options] \
-- -p PORTMASK [-q NQ] [-K PERIOD] [-T PERIOD]
where,
@ -68,7 +68,7 @@ To run the application in linux environment with 4 lcores, 16 ports
.. code-block:: console
./build/l2fwd-keepalive -l 0-3 -n 4 -- -q 8 -p ffff -K 10
./<build_dir>/examples/dpdk-l2fwd-keepalive -l 0-3 -n 4 -- -q 8 -p ffff -K 10
Refer to the *DPDK Getting Started Guide* for general information on
running applications and the Environment Abstraction Layer (EAL)

View File

@ -96,7 +96,7 @@ The ``kni`` example application requires a number of command line options:
.. code-block:: console
kni [EAL options] -- -p PORTMASK --config="(port,lcore_rx,lcore_tx[,lcore_kthread,...])[,(port,lcore_rx,lcore_tx[,lcore_kthread,...])]" [-P] [-m]
dpdk-kni [EAL options] -- -p PORTMASK --config="(port,lcore_rx,lcore_tx[,lcore_kthread,...])[,(port,lcore_rx,lcore_tx[,lcore_kthread,...])]" [-P] [-m]
Where:
@ -168,8 +168,8 @@ interface ``vEth1_0`` with the kernel thread bound to lcore 9.
.. code-block:: console
# rmmod rte_kni
# insmod kmod/rte_kni.ko kthread_mode=multiple
# ./build/kni -l 4-7 -n 4 -- -P -p 0x3 -m --config="(0,4,6,8),(1,5,7,9)"
# insmod <build_dir>/kernel/linux/kni/rte_kni.ko kthread_mode=multiple
# ./<build-dir>/examples/dpdk-kni -l 4-7 -n 4 -- -P -p 0x3 -m --config="(0,4,6,8),(1,5,7,9)"
The following example is identical, except an additional ``lcore_kthread``
core is specified per physical port. In this case, ``kni`` will create
@ -186,8 +186,8 @@ The kernel thread for each interface will be bound as follows:
.. code-block:: console
# rmmod rte_kni
# insmod kmod/rte_kni.ko kthread_mode=multiple
# ./build/kni -l 4-7 -n 4 -- -P -p 0x3 -m --config="(0,4,6,8,10),(1,5,7,9,11)"
# insmod <build_dir>/kernel/linux/kni/rte_kni.ko kthread_mode=multiple
# ./<build-dir>/examples/dpdk-kni -l 4-7 -n 4 -- -P -p 0x3 -m --config="(0,4,6,8,10),(1,5,7,9,11)"
The following example can be used to test the interface between the ``kni``
test application and the ``rte_kni`` kernel module. In this example,
@ -206,8 +206,8 @@ disabled by **not** specifying the ``-m`` flag to ``kni``:
.. code-block:: console
# rmmod rte_kni
# insmod kmod/rte_kni.ko lo_mode=lo_mode_fifo carrier=on
# ./build/kni -l 4-7 -n 4 -- -P -p 0x3 --config="(0,4,6,8),(1,5,7,9)"
# insmod <build_dir>/kernel/linux/kni/rte_kni.ko lo_mode=lo_mode_fifo carrier=on
# ./<build-dir>/examples/dpdk-kni -l 4-7 -n 4 -- -P -p 0x3 --config="(0,4,6,8),(1,5,7,9)"
KNI Operations
--------------

View File

@ -70,13 +70,13 @@ To run the example in a ``linux`` environment and enable CAT on cpus 0-2:
.. code-block:: console
./build/l2fwd-cat -l 1 -n 4 -- --l3ca="0x3@(0-2)"
./<build_dir>/examples/dpdk-l2fwd-cat -l 1 -n 4 -- --l3ca="0x3@(0-2)"
or to enable CAT and CDP on cpus 1,3:
.. code-block:: console
./build/l2fwd-cat -l 1 -n 4 -- --l3ca="(0x00C00,0x00300)@(1,3)"
./<build_dir>/examples/dpdk-l2fwd-cat -l 1 -n 4 -- --l3ca="(0x00C00,0x00300)@(1,3)"
If CDP is not supported it will fail with following error message:

View File

@ -39,7 +39,7 @@ The application requires a number of command line options:
.. code-block:: console
./build/l2fwd-crypto [EAL options] -- [-p PORTMASK] [-q NQ] [-s] [-T PERIOD] /
./<build_dir>/examples/dpdk-l2fwd-crypto [EAL options] -- [-p PORTMASK] [-q NQ] [-s] [-T PERIOD] /
[--cdev_type HW/SW/ANY] [--chain HASH_CIPHER/CIPHER_HASH/CIPHER_ONLY/HASH_ONLY/AEAD] /
[--cipher_algo ALGO] [--cipher_op ENCRYPT/DECRYPT] [--cipher_key KEY] /
[--cipher_key_random_size SIZE] [--cipher_iv IV] [--cipher_iv_random_size SIZE] /
@ -162,7 +162,7 @@ To run the application in linux environment with 2 lcores, 2 ports and 2 crypto
.. code-block:: console
$ ./build/l2fwd-crypto -l 0-1 -n 4 --vdev "crypto_aesni_mb0" \
$ ./<build_dir>/examples/dpdk-l2fwd-crypto -l 0-1 -n 4 --vdev "crypto_aesni_mb0" \
--vdev "crypto_aesni_mb1" -- -p 0x3 --chain CIPHER_HASH \
--cipher_op ENCRYPT --cipher_algo aes-cbc \
--cipher_key 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f \

View File

@ -52,7 +52,7 @@ The application requires a number of command line options:
.. code-block:: console
./build/l2fwd-event [EAL options] -- -p PORTMASK [-q NQ] --[no-]mac-updating --mode=MODE --eventq-sched=SCHED_MODE
./<build_dir>/examples/dpdk-l2fwd-event [EAL options] -- -p PORTMASK [-q NQ] --[no-]mac-updating --mode=MODE --eventq-sched=SCHED_MODE
where,
@ -75,20 +75,20 @@ issue the command:
.. code-block:: console
./build/l2fwd-event -l 0-3 -n 4 -- -q 8 -p ffff --mode=poll
./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -n 4 -- -q 8 -p ffff --mode=poll
Eventdev mode with 4 lcores, 16 ports , sched method ordered and MAC address updating enabled,
issue the command:
.. code-block:: console
./build/l2fwd-event -l 0-3 -n 4 -- -p ffff --eventq-sched=ordered
./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -n 4 -- -p ffff --eventq-sched=ordered
or
.. code-block:: console
./build/l2fwd-event -l 0-3 -n 4 -- -q 8 -p ffff --mode=eventdev --eventq-sched=ordered
./<build_dir>/examples/dpdk-l2fwd-event -l 0-3 -n 4 -- -q 8 -p ffff --mode=eventdev --eventq-sched=ordered
Refer to the *DPDK Getting Started Guide* for general information on running
applications and the Environment Abstraction Layer (EAL) options.
@ -105,7 +105,7 @@ scheduler. Following is the sample command:
.. code-block:: console
./build/l2fwd-event -l 0-7 -s 0-3 -n 4 --vdev event_sw0 -- -q 8 -p ffff --mode=eventdev --eventq-sched=ordered
./<build_dir>/examples/dpdk-l2fwd-event -l 0-7 -s 0-3 -n 4 --vdev event_sw0 -- -q 8 -p ffff --mode=eventdev --eventq-sched=ordered
Explanation
-----------

View File

@ -81,7 +81,7 @@ The application requires a number of command line options:
.. code-block:: console
./build/l2fwd-jobstats [EAL options] -- -p PORTMASK [-q NQ] [-l]
./<build_dir>/examples/dpdk-l2fwd-jobstats [EAL options] -- -p PORTMASK [-q NQ] [-l]
where,
@ -96,7 +96,7 @@ thousands separator printing, issue the command:
.. code-block:: console
$ ./build/l2fwd-jobstats -l 0-3 -n 4 -- -q 8 -p ffff -l
$ ./<build_dir>/examples/dpdk-l2fwd-jobstats -l 0-3 -n 4 -- -q 8 -p ffff -l
Refer to the *DPDK Getting Started Guide* for general information on running applications
and the Environment Abstraction Layer (EAL) options.

View File

@ -91,7 +91,7 @@ The application requires a number of command line options:
.. code-block:: console
./build/l2fwd [EAL options] -- -p PORTMASK
./<build_dir>/examples/dpdk-l2fwd [EAL options] -- -p PORTMASK
[-q NQ]
--[no-]mac-updating
[--portmap="(port, port)[,(port, port)]"]
@ -111,7 +111,7 @@ updating enabled, issue the command:
.. code-block:: console
$ ./build/l2fwd -l 0-3 -n 4 -- -q 8 -p ffff
$ ./<build_dir>/examples/dpdk-l2fwd -l 0-3 -n 4 -- -q 8 -p ffff
To run the application in linux environment with 4 lcores, 4 ports, 8 RX queues
per lcore, to forward RX traffic of ports 0 & 1 on ports 2 & 3 respectively and
@ -119,7 +119,7 @@ vice versa, issue the command:
.. code-block:: console
$ ./build/l2fwd -l 0-3 -n 4 -- -q 8 -p f --portmap="(0,2)(1,3)"
$ ./<build_dir>/examples/dpdk-l2fwd -l 0-3 -n 4 -- -q 8 -p f --portmap="(0,2)(1,3)"
Refer to the *DPDK Getting Started Guide* for general information on running applications
and the Environment Abstraction Layer (EAL) options.

View File

@ -51,7 +51,7 @@ Running the Application
The application has a number of command line options::
./l3fwd [EAL options] -- -p PORTMASK
./dpdk-l3fwd [EAL options] -- -p PORTMASK
[-P]
[-E]
[-L]
@ -111,7 +111,7 @@ To enable L3 forwarding between two ports, assuming that both ports are in the s
.. code-block:: console
./build/l3fwd -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2)"
./<build_dir>/examples/dpdk-l3fwd -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2)"
In this command:
@ -138,13 +138,13 @@ Following is the sample command:
.. code-block:: console
./build/l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x3 --eventq-sched=ordered
./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x3 --eventq-sched=ordered
or
.. code-block:: console
./build/l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
./<build_dir>/examples/dpdk-l3fwd -l 0-3 -n 4 -w <event device> -- -p 0x03 --mode=eventdev --eventq-sched=ordered
In this command:
@ -166,7 +166,7 @@ scheduler. Following is the sample command:
.. code-block:: console
./build/l3fwd -l 0-7 -s 0xf0000 -n 4 --vdev event_sw0 -- -p 0x3 --mode=eventdev --eventq-sched=ordered
./<build_dir>/examples/dpdk-l3fwd -l 0-7 -s 0xf0000 -n 4 --vdev event_sw0 -- -p 0x3 --mode=eventdev --eventq-sched=ordered
In case of eventdev mode, *--config* option is not used for ethernet port
configuration. Instead each ethernet port will be configured with mentioned

View File

@ -184,7 +184,7 @@ Packet 2 matches Rule 2 and is forwarded to port 1.
Packet 3 matches Rule 3 and is forwarded to port 0.
For more details on the rule file format,
please refer to rule_ipv4.db and rule_ipv6.db files (inside <RTE_SDK>/examples/l3fwd-acl/).
please refer to rule_ipv4.db and rule_ipv6.db files (inside dpdk/examples/l3fwd-acl/).
Application Phases
~~~~~~~~~~~~~~~~~~
@ -236,7 +236,7 @@ The application has a number of command line options:
.. code-block:: console
./build/l3fwd-acl [EAL options] -- -p PORTMASK [-P] --config(port,queue,lcore)[,(port,queue,lcore)] --rule_ipv4 FILENAME rule_ipv6 FILENAME [--alg=<val>] [--enable-jumbo [--max-pkt-len PKTLEN]] [--no-numa] [--eth-dest=X,MM:MM:MM:MM:MM:MM]
./<build_dir>/examples/dpdk-l3fwd-acl [EAL options] -- -p PORTMASK [-P] --config(port,queue,lcore)[,(port,queue,lcore)] --rule_ipv4 FILENAME rule_ipv6 FILENAME [--alg=<val>] [--enable-jumbo [--max-pkt-len PKTLEN]] [--no-numa] [--eth-dest=X,MM:MM:MM:MM:MM:MM]
where,
@ -271,7 +271,7 @@ To enable L3 forwarding between two ports, assuming that both ports are in the s
.. code-block:: console
./build/l3fwd-acl -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2)" --rule_ipv4="./rule_ipv4.db" -- rule_ipv6="./rule_ipv6.db" --alg=scalar
./<build_dir>/examples/dpdk-l3fwd-acl -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2)" --rule_ipv4="./rule_ipv4.db" -- rule_ipv6="./rule_ipv6.db" --alg=scalar
In this command:

View File

@ -44,7 +44,7 @@ Running the Application
The application has a number of command line options similar to l3fwd::
./l3fwd-graph [EAL options] -- -p PORTMASK
./dpdk-l3fwd-graph [EAL options] -- -p PORTMASK
[-P]
--config(port,queue,lcore)[,(port,queue,lcore)]
[--eth-dest=X,MM:MM:MM:MM:MM:MM]
@ -79,7 +79,7 @@ To enable L3 forwarding between two ports, assuming that both ports are in the s
.. code-block:: console
./build/l3fwd-graph -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2)"
./<build_dir>/examples/dpdk-l3fwd-graph -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2)"
In this command:

View File

@ -88,7 +88,7 @@ The application has a number of command line options:
.. code-block:: console
./build/l3fwd_power [EAL options] -- -p PORTMASK [-P] --config(port,queue,lcore)[,(port,queue,lcore)] [--enable-jumbo [--max-pkt-len PKTLEN]] [--no-numa]
./<build_dir>/examples/dpdk-l3fwd_power [EAL options] -- -p PORTMASK [-P] --config(port,queue,lcore)[,(port,queue,lcore)] [--enable-jumbo [--max-pkt-len PKTLEN]] [--no-numa]
where,
@ -378,7 +378,7 @@ See :doc:`Power Management<../prog_guide/power_man>` chapter in the DPDK Program
.. code-block:: console
./l3fwd-power -l xxx -n 4 -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
./<build_dir>/examples/dpdk-l3fwd-power -l xxx -n 4 -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
Where,
@ -407,7 +407,7 @@ app with the training flag set to “1”, and the other parameters set to
.. code-block:: console
./examples/l3fwd-power/build/l3fwd-power -l 1-3 -- -p 0x0f --config="(0,0,2),(0,1,3)" --empty-poll "1,0,0" P
./<build_dir>/examples/dpdk-l3fwd-power -l 1-3 -- -p 0x0f --config="(0,0,2),(0,1,3)" --empty-poll "1,0,0" P
This will run the training algorithm for x seconds on each core (cores 2
and 3), and then print out the recommended threshold values for those
@ -432,7 +432,7 @@ then be started without the training mode so traffic can start immediately.
.. code-block:: console
./examples/l3fwd-power/build/l3fwd-power -l 1-3 -- -p 0x0f --config="(0,0,2),(0,1,3)" --empty-poll "0,340000,540000" P
./<build_dir>/examples/dpdk-l3fwd-power -l 1-3 -- -p 0x0f --config="(0,0,2),(0,1,3)" --empty-poll "0,340000,540000" P
Telemetry Mode
--------------
@ -449,13 +449,9 @@ cycles it took is measured and compared with minimum and maximum
reference cycles and accordingly busy rate is set to either 0% or
50% or 100%.
.. Note::
* The CONFIG_RTE_LIBRTE_TELEMETRY should be set in order to get the stats in DPDK telemetry.
.. code-block:: console
./examples/l3fwd-power/build/l3fwd-power --telemetry -l 1-3 -- -p 0x0f --config="(0,0,2),(0,1,3)" --telemetry
./<build_dir>/examples/dpdk-l3fwd-power --telemetry -l 1-3 -- -p 0x0f --config="(0,0,2),(0,1,3)" --telemetry
The new stats ``empty_poll`` , ``full_poll`` and ``busy_percent`` can be viewed by running the script
``/usertools/dpdk-telemetry-client.py`` and selecting the menu option ``Send for global Metrics``.

View File

@ -39,7 +39,7 @@ The application requires a number of command line options:
.. code-block:: console
./build/link_status_interrupt [EAL options] -- -p PORTMASK [-q NQ][-T PERIOD]
./<build_dir>/examples/dpdk-link_status_interrupt [EAL options] -- -p PORTMASK [-q NQ][-T PERIOD]
where,
@ -54,7 +54,7 @@ issue the command:
.. code-block:: console
$ ./build/link_status_interrupt -l 0-3 -n 4-- -q 8 -p ffff
$ ./<build_dir>/examples/dpdk-link_status_interrupt -l 0-3 -n 4-- -q 8 -p ffff
Refer to the *DPDK Getting Started Guide* for general information on running applications
and the Environment Abstraction Layer (EAL) options.

View File

@ -41,7 +41,7 @@ passing at least two cores in the coremask/corelist, as follows:
.. code-block:: console
./build/simple_mp -l 0-1 -n 4 --proc-type=primary
./<build_dir>/examples/dpdk-simple_mp -l 0-1 -n 4 --proc-type=primary
For the first DPDK process run, the proc-type flag can be omitted or set to auto,
since all DPDK processes will default to being a primary instance,
@ -50,7 +50,7 @@ The process should start successfully and display a command prompt as follows:
.. code-block:: console
$ ./build/simple_mp -l 0-1 -n 4 --proc-type=primary
$ ./<build_dir>/examples/dpdk-simple_mp -l 0-1 -n 4 --proc-type=primary
EAL: coremask set to 3
EAL: Detected lcore 0 on socket 0
EAL: Detected lcore 1 on socket 0
@ -77,7 +77,7 @@ again run the same binary setting at least two cores in the coremask/corelist:
.. code-block:: console
./build/simple_mp -l 2-3 -n 4 --proc-type=secondary
./<build_dir>/examples/dpdk-simple_mp -l 2-3 -n 4 --proc-type=secondary
When running a secondary process such as that shown above, the proc-type parameter can again be specified as auto.
However, omitting the parameter altogether will cause the process to try and start as a primary rather than secondary process.
@ -183,10 +183,10 @@ the following commands can be used (assuming run as root):
.. code-block:: console
# ./build/symmetric_mp -l 1 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=0
# ./build/symmetric_mp -l 2 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=1
# ./build/symmetric_mp -l 3 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=2
# ./build/symmetric_mp -l 4 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=3
# ./<build_dir>/examples/dpdk-symmetric_mp -l 1 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=0
# ./<build_dir>/examples/dpdk-symmetric_mp -l 2 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=1
# ./<build_dir>/examples/dpdk-symmetric_mp -l 3 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=2
# ./<build_dir>/examples/dpdk-symmetric_mp -l 4 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=3
.. note::
@ -283,9 +283,9 @@ the following commands could be used:
.. code-block:: console
# ./mp_server/build/mp_server -l 1-2 -n 4 -- -p 3 -n 2
# ./mp_client/build/mp_client -l 3 -n 4 --proc-type=auto -- -n 0
# ./mp_client/build/mp_client -l 4 -n 4 --proc-type=auto -- -n 1
# ./<build_dir>/examples/dpdk-mp_server -l 1-2 -n 4 -- -p 3 -n 2
# ./<build_dir>/examples/dpdk-mp_client -l 3 -n 4 --proc-type=auto -- -n 0
# ./<build_dir>/examples/dpdk-mp_client -l 4 -n 4 --proc-type=auto -- -n 1
.. note::

View File

@ -32,7 +32,7 @@ The only available options are the standard ones for the EAL:
.. code-block:: console
./build/ntb_fwd -c 0xf -n 6 -- -i
./<build_dir>/examples/dpdk-ntb -c 0xf -n 6 -- -i
Refer to the *DPDK Getting Started Guide* for general information on
running applications and the Environment Abstraction Layer (EAL)

View File

@ -43,7 +43,8 @@ The application execution command line is:
.. code-block:: console
./packet_ordering [EAL options] -- -p PORTMASK [--disable-reorder] [--insight-worker]
./<build_dir>/examples/dpdk-packet_ordering [EAL options] -- -p PORTMASK /
[--disable-reorder] [--insight-worker]
The -c EAL CPU_COREMASK option has to contain at least 3 CPU cores.
The first CPU core in the core mask is the main core and would be assigned to

View File

@ -55,7 +55,7 @@ Running the Application
The application has a number of command line options::
./build/l3fwd-thread [EAL options] --
./<build_dir>/examples/dpdk-l3fwd-thread [EAL options] --
-p PORTMASK [-P]
--rx(port,queue,lcore,thread)[,(port,queue,lcore,thread)]
--tx(lcore,thread)[,(lcore,thread)]
@ -141,14 +141,14 @@ in ``--rx/--tx`` are used to affinitize threads to the selected scheduler.
For example, the following places every l-thread on different lcores::
l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \
dpdk-l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \
--rx="(0,0,0,0)(1,0,1,1)" \
--tx="(2,0)(3,1)"
The following places RX l-threads on lcore 0 and TX l-threads on lcore 1 and 2
and so on::
l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \
dpdk-l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \
--rx="(0,0,0,0)(1,0,0,1)" \
--tx="(1,0)(2,1)"
@ -164,7 +164,7 @@ place every RX and TX thread on different lcores.
For example, the following places every EAL thread on different lcores::
l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \
dpdk-l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \
--rx="(0,0,0,0)(1,0,1,1)" \
--tx="(2,0)(3,1)" \
--no-lthreads
@ -176,7 +176,7 @@ parameter is used.
The following places RX EAL threads on lcore 0 and TX EAL threads on lcore 1
and 2 and so on::
l3fwd-thread -l 0-7 -n 2 --lcores="(0,1)@0,(2,3)@1" -- -P -p 3 \
dpdk-l3fwd-thread -l 0-7 -n 2 --lcores="(0,1)@0,(2,3)@1" -- -P -p 3 \
--rx="(0,0,0,0)(1,0,1,1)" \
--tx="(2,0)(3,1)" \
--no-lthreads
@ -190,13 +190,13 @@ and its corresponding EAL threads command line can be realized as follows:
a) Start every thread on different scheduler (1:1)::
l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \
dpdk-l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \
--rx="(0,0,0,0)(1,0,1,1)" \
--tx="(2,0)(3,1)"
EAL thread equivalent::
l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \
dpdk-l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \
--rx="(0,0,0,0)(1,0,1,1)" \
--tx="(2,0)(3,1)" \
--no-lthreads
@ -205,13 +205,13 @@ b) Start all threads on one core (N:1).
Start 4 L-threads on lcore 0::
l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \
dpdk-l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \
--rx="(0,0,0,0)(1,0,0,1)" \
--tx="(0,0)(0,1)"
Start 4 EAL threads on cpu-set 0::
l3fwd-thread -l 0-7 -n 2 --lcores="(0-3)@0" -- -P -p 3 \
dpdk-l3fwd-thread -l 0-7 -n 2 --lcores="(0-3)@0" -- -P -p 3 \
--rx="(0,0,0,0)(1,0,0,1)" \
--tx="(2,0)(3,1)" \
--no-lthreads
@ -220,14 +220,14 @@ c) Start threads on different cores (N:M).
Start 2 L-threads for RX on lcore 0, and 2 L-threads for TX on lcore 1::
l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \
dpdk-l3fwd-thread -l 0-7 -n 2 -- -P -p 3 \
--rx="(0,0,0,0)(1,0,0,1)" \
--tx="(1,0)(1,1)"
Start 2 EAL threads for RX on cpu-set 0, and 2 EAL threads for TX on
cpu-set 1::
l3fwd-thread -l 0-7 -n 2 --lcores="(0-1)@0,(2-3)@1" -- -P -p 3 \
dpdk-l3fwd-thread -l 0-7 -n 2 --lcores="(0-1)@0,(2-3)@1" -- -P -p 3 \
--rx="(0,0,0,0)(1,0,1,1)" \
--tx="(2,0)(3,1)" \
--no-lthreads
@ -1146,33 +1146,15 @@ in the performance-thread folder
To build and run the pthread shim example
#. Go to the example applications folder
.. code-block:: console
export RTE_SDK=/path/to/rte_sdk
cd ${RTE_SDK}/examples/performance-thread/pthread_shim
#. Set the target (a default target is used if not specified). For example:
.. code-block:: console
export RTE_TARGET=x86_64-native-linux-gcc
See the DPDK Getting Started Guide for possible RTE_TARGET values.
#. Build the application:
.. code-block:: console
make
To compile the sample application see :doc:`compiling`.
#. To run the pthread_shim example
.. code-block:: console
lthread-pthread-shim -c core_mask -n number_of_channels
dpdk-pthread-shim -c core_mask -n number_of_channels
.. _lthread_diagnostics:

View File

@ -57,13 +57,6 @@ To compile the sample application see :doc:`compiling`.
The application is located in the ``ptpclient`` sub-directory.
.. note::
To compile the application edit the ``config/common_linux`` configuration file to enable IEEE1588
and then recompile DPDK:
.. code-block:: console
CONFIG_RTE_LIBRTE_IEEE1588=y
Running the Application
-----------------------
@ -72,7 +65,7 @@ To run the example in a ``linux`` environment:
.. code-block:: console
./build/ptpclient -l 1 -n 4 -- -p 0x1 -T 0
./<build_dir>/examples/dpdk-ptpclient -l 1 -n 4 -- -p 0x1 -T 0
Refer to *DPDK Getting Started Guide* for general information on running
applications and the Environment Abstraction Layer (EAL) options.

View File

@ -48,7 +48,7 @@ The application execution command line is as below:
.. code-block:: console
./qos_meter [EAL options] -- -p PORTMASK
./dpdk-qos_meter [EAL options] -- -p PORTMASK
The application is constrained to use a single core in the EAL core mask and 2 ports only in the application port mask
(first port from the port mask is used for RX and the other port in the core mask is used for TX).

View File

@ -42,8 +42,8 @@ The application is located in the ``qos_sched`` sub-directory.
.. note::
To get statistics on the sample app using the command line interface as described in the next section,
DPDK must be compiled defining *CONFIG_RTE_SCHED_COLLECT_STATS*,
which can be done by changing the configuration file for the specific target to be compiled.
DPDK must be compiled defining *RTE_SCHED_COLLECT_STATS*, which can be done by changing the relevant
entry in the ``config/rte_config.h`` file.
Running the Application
-----------------------
@ -57,7 +57,7 @@ The application has a number of command line options:
.. code-block:: console
./qos_sched [EAL options] -- <APP PARAMS>
./<build_dir>/examples/dpdk-qos_sched [EAL options] -- <APP PARAMS>
Mandatory application parameters include:
@ -315,7 +315,7 @@ The following is an example command with a single packet flow configuration:
.. code-block:: console
./qos_sched -l 1,5,7 -n 4 -- --pfc "3,2,5,7" --cfg ./profile.cfg
./<build_dir>/examples/dpdk-qos_sched -l 1,5,7 -n 4 -- --pfc "3,2,5,7" --cfg ./profile.cfg
This example uses a single packet flow configuration which creates one RX thread on lcore 5 reading
from port 3 and a worker thread on lcore 7 writing to port 2.
@ -324,7 +324,7 @@ Another example with 2 packet flow configurations using different ports but shar
.. code-block:: console
./qos_sched -l 1,2,6,7 -n 4 -- --pfc "3,2,2,6,7" --pfc "1,0,2,6,7" --cfg ./profile.cfg
./<build_dir>/examples/dpdk-qos_sched -l 1,2,6,7 -n 4 -- --pfc "3,2,2,6,7" --pfc "1,0,2,6,7" --cfg ./profile.cfg
Note that independent cores for the packet flow configurations for each of the RX, WT and TX thread are also supported,
providing flexibility to balance the work.

View File

@ -25,13 +25,6 @@ To compile the sample application see :doc:`compiling`.
The application is located in the ``rxtx_callbacks`` sub-directory.
The callbacks feature requires that the ``CONFIG_RTE_ETHDEV_RXTX_CALLBACKS``
setting is on in the ``config/common_`` config file that applies to the
target. This is generally on by default:
.. code-block:: console
CONFIG_RTE_ETHDEV_RXTX_CALLBACKS=y
Running the Application
-----------------------
@ -40,7 +33,7 @@ To run the example in a ``linux`` environment:
.. code-block:: console
./build/rxtx_callbacks -l 1 -n 4 -- [-t]
./<build_dir>/examples/dpdk-rxtx_callbacks -l 1 -n 4 -- [-t]
Use -t to enable hardware timestamping. If not supported by the NIC, an error
will be displayed.

View File

@ -93,7 +93,7 @@ and the back-end node.
The frontend server (server) has the following command line options::
./server [EAL options] -- -p PORTMASK -n NUM_NODES -f NUM_FLOWS
./<build_dir>/examples/dpdk-server [EAL options] -- -p PORTMASK -n NUM_NODES -f NUM_FLOWS
Where,

View File

@ -20,26 +20,9 @@ is application specific, and not a part of the service cores API.
Compiling the Application
-------------------------
#. Go to the example directory:
To compile the sample application see :doc:`compiling`.
.. code-block:: console
export RTE_SDK=/path/to/rte_sdk
cd ${RTE_SDK}/examples/service_cores
#. Set the target (a default target is used if not specified). For example:
.. code-block:: console
export RTE_TARGET=x86_64-native-linux-gcc
See the *DPDK Getting Started* Guide for possible RTE_TARGET values.
#. Build the application:
.. code-block:: console
make
The application is located in the ``service_cores`` sub-directory.
Running the Application
-----------------------
@ -50,7 +33,7 @@ pass a service core-mask as an EAL argument at startup time.
.. code-block:: console
$ ./build/service_cores
$ ./<build_dir>/examples/dpdk-service_cores
Explanation

View File

@ -25,7 +25,7 @@ To run the example in a ``linux`` environment:
.. code-block:: console
./build/basicfwd -l 1 -n 4
./<build_dir>/examples/dpdk-skeleton -l 1 -n 4
Refer to *DPDK Getting Started Guide* for general information on running
applications and the Environment Abstraction Layer (EAL) options.

View File

@ -90,36 +90,17 @@ The example in this section have been validated with the following distributions
* Fedora* 20
Compiling the Sample Code
-------------------------
To enable vhost, turn on vhost library in the configure file
``config/common_linux``.
.. code-block:: console
CONFIG_RTE_LIBRTE_VHOST=y
Then following the to compile the sample application shown in
:doc:`compiling`.
Running the Sample Code
-----------------------
#. Go to the examples directory:
Run the tep_termination sample code:
.. code-block:: console
.. code-block:: console
export RTE_SDK=/path/to/rte_sdk
cd ${RTE_SDK}/examples/tep_termination
#. Run the tep_termination sample code:
.. code-block:: console
user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
-p 0x1 --dev-basename tep-termination --nb-devices 4
--udp-port 4789 --filter-type 1
user@target:~$ ./<build_dir>/examples/dpdk-tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
-p 0x1 --dev-basename tep-termination --nb-devices 4
--udp-port 4789 --filter-type 1
.. note::
@ -139,7 +120,7 @@ The default value is 2.
.. code-block:: console
user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
user@target:~$ ./<build_dir>/examples/dpdk-tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
--nb-devices 2
**Tunneling UDP port.**
@ -149,7 +130,7 @@ The default value is 4789.
.. code-block:: console
user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
user@target:~$ ./<build_dir>/examples/dpdk-tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
--nb-devices 2 --udp-port 4789
**Filter Type.**
@ -160,7 +141,7 @@ The default value is 1, which means the filter type of inner MAC and tenant ID i
.. code-block:: console
user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
user@target:~$ ./<build_dir>/examples/dpdk-tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
--nb-devices 2 --udp-port 4789 --filter-type 1
**TX Checksum.**
@ -170,7 +151,7 @@ The default value is 0, which means the checksum offload is disabled.
.. code-block:: console
user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
user@target:~$ ./<build_dir>/examples/dpdk-tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
--nb-devices 2 --tx-checksum
**TCP segment size.**
@ -180,7 +161,7 @@ The default value is 0, which means TSO offload is disabled.
.. code-block:: console
user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
user@target:~$ ./<build_dir>/examples/dpdk-tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
--tx-checksum --tso-segsz 800
**Decapsulation option.**
@ -190,7 +171,7 @@ The default value is 1.
.. code-block:: console
user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
user@target:~$ ./<build_dir>/examples/dpdk-tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
--nb-devices 4 --udp-port 4789 --decap 1
**Encapsulation option.**
@ -200,7 +181,7 @@ The default value is 1.
.. code-block:: console
user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
user@target:~$ ./<build_dir>/examples/dpdk-tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
--nb-devices 4 --udp-port 4789 --encap 1

View File

@ -32,7 +32,7 @@ Compiling the Application
-------------------------
To compile the sample application see :doc:`compiling`
The application is located in the ``$RTE_SDK/app/test-pipeline`` directory.
The application is located in the ``dpdk/<build_dir>/app`` directory.
Running the Application
@ -45,7 +45,7 @@ The application execution command line is:
.. code-block:: console
./test-pipeline [EAL options] -- -p PORTMASK --TABLE_TYPE
./dpdk-test-pipeline [EAL options] -- -p PORTMASK --TABLE_TYPE
The -c or -l EAL CPU coremask/corelist option has to contain exactly 3 CPU cores.
The first CPU core in the core mask is assigned for core A, the second for core B and the third for core C.

View File

@ -21,7 +21,7 @@ To run the example in linux environment:
.. code-block:: console
$ ./build/timer -l 0-3 -n 4
$ ./<build_dir>/examples/dpdk-timer -l 0-3 -n 4
Refer to the *DPDK Getting Started Guide* for general information on running applications and
the Environment Abstraction Layer (EAL) options.

View File

@ -29,7 +29,7 @@ Start the vdpa example
.. code-block:: console
./vdpa [EAL options] -- [--client] [--interactive|-i] or [--iface SOCKET_PATH]
./dpdk-vdpa [EAL options] -- [--client] [--interactive|-i] or [--iface SOCKET_PATH]
where
@ -51,7 +51,7 @@ Take IFCVF driver for example:
.. code-block:: console
./vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
./dpdk-vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
-w 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
-- --interactive

View File

@ -38,7 +38,7 @@ Start the vswitch example
.. code-block:: console
./vhost-switch -l 0-3 -n 4 --socket-mem 1024 \
./dpdk-vhost-switch -l 0-3 -n 4 --socket-mem 1024 \
-- --socket-file /tmp/sock0 --client \
...
@ -78,13 +78,13 @@ could be done by:
.. code-block:: console
modprobe uio_pci_generic
$RTE_SDK/usertools/dpdk-devbind.py -b uio_pci_generic 0000:00:04.0
dpdk/usertools/dpdk-devbind.py -b uio_pci_generic 0000:00:04.0
Then start testpmd for packet forwarding testing.
.. code-block:: console
./x86_64-native-gcc/app/testpmd -l 0-1 -- -i
./<build_dir>/app/dpdk-testpmd -l 0-1 -- -i
> start tx_first
Inject packets
@ -192,11 +192,6 @@ Common Issues
max queue number is larger than 128, device start will fail due to
insufficient mbuf.
Change the default number to make it work as below, just set the number
according to the NIC's property. ::
make EXTRA_CFLAGS="-DMAX_QUEUES=320"
* Option "builtin-net-driver" is incompatible with QEMU
QEMU vhost net device start will fail if protocol feature is not negotiated.

View File

@ -36,7 +36,7 @@ Start the vhost_blk example
.. code-block:: console
./vhost_blk -m 1024
./dpdk-vhost_blk -m 1024
.. _vhost_blk_app_run_vm:

View File

@ -28,7 +28,7 @@ Start the vhost_crypto example
.. code-block:: console
./vhost_crypto [EAL options] --
./dpdk-vhost_crypto [EAL options] --
--config (lcore,cdev-id,queue-id)[,(lcore,cdev-id,queue-id)]
--socket-file lcore,PATH
[--zero-copy]

View File

@ -245,26 +245,23 @@ To build just the ``vm_power_manager`` application using ``make``:
.. code-block:: console
export RTE_SDK=/path/to/rte_sdk
export RTE_TARGET=build
cd ${RTE_SDK}/examples/vm_power_manager/
cd dpdk/examples/vm_power_manager/
make
The resulting binary is ``${RTE_SDK}/build/examples/vm_power_manager``.
The resulting binary is ``dpdk/build/examples/vm_power_manager``.
To build just the ``vm_power_manager`` application using ``meson``/``ninja``:
.. code-block:: console
export RTE_SDK=/path/to/rte_sdk
cd ${RTE_SDK}
cd dpdk
meson build
cd build
ninja
meson configure -Dexamples=vm_power_manager
ninja
The resulting binary is ``${RTE_SDK}/build/examples/dpdk-vm_power_manager``.
The resulting binary is ``dpdk/build/examples/dpdk-vm_power_manager``.
Running the Host Application
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -274,7 +271,7 @@ than the EAL options:
.. code-block:: console
./build/vm_power_mgr [EAL options]
./<build_dir>/examples/dpdk-vm_power_mgr [EAL options]
The application requires exactly two cores to run. One core for the CLI
and the other for the channel endpoint monitor. For example, to run on
@ -282,7 +279,7 @@ cores 0 and 1 on a system with four memory channels, issue the command:
.. code-block:: console
./build/vm_power_mgr -l 0-1 -n 4
./<build_dir>/examples/dpdk-vm_power_mgr -l 0-1 -n 4
After successful initialization, the VM Power Manager CLI prompt appears:
@ -462,12 +459,10 @@ the following commands:
.. code-block:: console
export RTE_SDK=/path/to/rte_sdk
export RTE_TARGET=build
cd ${RTE_SDK}/examples/vm_power_manager/guest_cli/
cd dpdk/examples/vm_power_manager/guest_cli/
make
The resulting binary is ``${RTE_SDK}/build/examples/guest_cli``.
The resulting binary is ``dpdk/build/examples/guest_cli``.
**Note**: This sample application conditionally links in the Jansson JSON
library. Consequently, if you are using a multilib or cross-compile
@ -498,15 +493,14 @@ To build just the ``vm_power_manager`` application using ``meson``/``ninja``:
.. code-block:: console
export RTE_SDK=/path/to/rte_sdk
cd ${RTE_SDK}
cd dpdk
meson build
cd build
ninja
meson configure -Dexamples=vm_power_manager/guest_cli
ninja
The resulting binary is ``${RTE_SDK}/build/examples/guest_cli``.
The resulting binary is ``dpdk/build/examples/guest_cli``.
Running the Guest Application
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -515,14 +509,14 @@ The standard EAL command line parameters are necessary:
.. code-block:: console
./build/vm_power_mgr [EAL options] -- [guest options]
./<build_dir>/examples/dpdk-vm_power_mgr [EAL options] -- [guest options]
The guest example uses a channel for each lcore enabled. For example, to
run on cores 0, 1, 2 and 3:
.. code-block:: console
./build/guest_vm_power_mgr -l 0-3
./<build_dir>/examples/dpdk-guest_vm_power_mgr -l 0-3
.. _sending_policy:
@ -593,7 +587,7 @@ host, use a command like the following:
.. code-block:: console
./build/guest_vm_power_mgr -l 0-3 -n 4 -- --vm-name=ubuntu --policy=BRANCH_RATIO --vcpu-list=2-4
./<build_dir>/examples/dpdk-guest_vm_power_mgr -l 0-3 -n 4 -- --vm-name=ubuntu --policy=BRANCH_RATIO --vcpu-list=2-4
Once the VM Power Manager Guest CLI appears, issuing the 'send_policy now' command
will send the policy to the host:
@ -707,7 +701,7 @@ To start the application and configure the power policy, and send it to the host
.. code-block:: console
./build/guest_vm_power_mgr -l 0-3 -n 4 -- --vm-name=ubuntu --policy=BRANCH_RATIO --vcpu-list=2-4
./<build_dir>/examples/dpdk-guest_vm_power_mgr -l 0-3 -n 4 -- --vm-name=ubuntu --policy=BRANCH_RATIO --vcpu-list=2-4
Once the VM Power Manager Guest CLI appears, issuing the 'send_policy now' command
will send the policy to the host:

View File

@ -26,13 +26,13 @@ multiple queues. When run with 8 threads, that is, with the -c FF option, each t
As supplied, the sample application configures the VMDQ feature to have 32 pools with 4 queues each as indicated in :numref:`figure_vmdq_dcb_example`.
The Intel® 82599 10 Gigabit Ethernet Controller NIC also supports the splitting of traffic into 16 pools of 8 queues. While the
Intel® X710 or XL710 Ethernet Controller NICs support many configurations of VMDQ pools of 4 or 8 queues each. For simplicity, only 16
or 32 pools is supported in this sample. And queues numbers for each VMDQ pool can be changed by setting CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM
in config/common_* file.
or 32 pools is supported in this sample. And queues numbers for each VMDQ pool can be changed by setting RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM
in config/rte_config.h file.
The nb-pools, nb-tcs and enable-rss parameters can be passed on the command line, after the EAL parameters:
.. code-block:: console
./build/vmdq_dcb [EAL options] -- -p PORTMASK --nb-pools NP --nb-tcs TC --enable-rss
./<build_dir>/examples/dpdk-vmdq_dcb [EAL options] -- -p PORTMASK --nb-pools NP --nb-tcs TC --enable-rss
where, NP can be 16 or 32, TC can be 4 or 8, rss is disabled by default.
@ -72,7 +72,7 @@ To run the example in a linux environment:
.. code-block:: console
user@target:~$ ./build/vmdq_dcb -l 0-3 -n 4 -- -p 0x3 --nb-pools 32 --nb-tcs 4
user@target:~$ ./<build_dir>/examples/dpdk-vmdq_dcb -l 0-3 -n 4 -- -p 0x3 --nb-pools 32 --nb-tcs 4
Refer to the *DPDK Getting Started Guide* for general information on running applications and
the Environment Abstraction Layer (EAL) options.

View File

@ -24,13 +24,13 @@ multiple queues. When run with 8 threads, that is, with the -c FF option, each t
As supplied, the sample application configures the VMDq feature to have 32 pools with 4 queues each.
The Intel® 82599 10 Gigabit Ethernet Controller NIC also supports the splitting of traffic into 16 pools of 2 queues.
While the Intel® X710 or XL710 Ethernet Controller NICs support many configurations of VMDq pools of 4 or 8 queues each.
And queues numbers for each VMDq pool can be changed by setting CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM
in config/common_* file.
And queues numbers for each VMDq pool can be changed by setting RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM
in config/rte_config.h file.
The nb-pools and enable-rss parameters can be passed on the command line, after the EAL parameters:
.. code-block:: console
./build/vmdq_app [EAL options] -- -p PORTMASK --nb-pools NP --enable-rss
./<build_dir>/examples/dpdk-vmdq [EAL options] -- -p PORTMASK --nb-pools NP --enable-rss
where, NP can be 8, 16 or 32, rss is disabled by default.
@ -56,7 +56,7 @@ To run the example in a Linux environment:
.. code-block:: console
user@target:~$ ./build/vmdq_app -l 0-3 -n 4 -- -p 0x3 --nb-pools 16
user@target:~$ ./<build_dir>/examples/dpdk-vmdq -l 0-3 -n 4 -- -p 0x3 --nb-pools 16
Refer to the *DPDK Getting Started Guide* for general information on running applications and
the Environment Abstraction Layer (EAL) options.

View File

@ -20,7 +20,7 @@ They must be separated from the EAL options, shown in the previous section, with
.. code-block:: console
sudo ./testpmd -l 0-3 -n 4 -- -i --portmask=0x1 --nb-cores=2
sudo ./dpdk-testpmd -l 0-3 -n 4 -- -i --portmask=0x1 --nb-cores=2
The command line options are:
@ -59,13 +59,13 @@ The command line options are:
* ``--nb-cores=N``
Set the number of forwarding cores,
where 1 <= N <= "number of cores" or ``CONFIG_RTE_MAX_LCORE`` from the configuration file.
where 1 <= N <= "number of cores" or ``RTE_MAX_LCORE`` from the configuration file.
The default value is 1.
* ``--nb-ports=N``
Set the number of forwarding ports,
where 1 <= N <= "number of ports" on the board or ``CONFIG_RTE_MAX_ETHPORTS`` from the configuration file.
where 1 <= N <= "number of ports" on the board or ``RTE_MAX_ETHPORTS`` from the configuration file.
The default value is the number of ports on the board.
* ``--coremask=0xXX``
@ -138,7 +138,7 @@ The command line options are:
* ``--eth-peer=N,XX:XX:XX:XX:XX:XX``
Set the MAC address ``XX:XX:XX:XX:XX:XX`` of the peer port N,
where 0 <= N < ``CONFIG_RTE_MAX_ETHPORTS`` from the configuration file.
where 0 <= N < ``RTE_MAX_ETHPORTS``.
* ``--tx-ip=SRC,DST``

View File

@ -71,7 +71,7 @@ practical or possible testpmd supports alternative methods for executing command
.. code-block:: console
./testpmd -n4 -r2 ... -- -i --cmdline-file=/home/ubuntu/flow-create-commands.txt
./dpdk-testpmd -n4 -r2 ... -- -i --cmdline-file=/home/ubuntu/flow-create-commands.txt
Interactive-mode selected
CLI commands to be read from /home/ubuntu/flow-create-commands.txt
Configuring Port 0 (socket 0)
@ -340,7 +340,7 @@ The available information categories are:
* ``icmpecho``: Receives a burst of packets, lookup for ICMP echo requests and, if any, send back ICMP echo replies.
* ``ieee1588``: Demonstrate L2 IEEE1588 V2 PTP timestamping for RX and TX. Requires ``CONFIG_RTE_LIBRTE_IEEE1588=y``.
* ``ieee1588``: Demonstrate L2 IEEE1588 V2 PTP timestamping for RX and TX.
* ``noisy``: Noisy neighbor simulation.
Simulate more realistic behavior of a guest machine engaged in receiving
@ -390,11 +390,6 @@ Example for the io forwarding engine, with some packet drops on the tx side::
TX-packets: 548595568 TX-dropped: 128 TX-total: 548595696
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.. note::
Enabling CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES appends "CPU cycles/packet" stats, like:
CPU cycles/packet=xx.dd (total cycles=xxxx / total RX packets=xxxx) at xxx MHz clock
clear fwd
~~~~~~~~~