.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2010-2014 Intel Corporation.
-Compiling and Running Sample Applications
-=========================================
+Running Sample Applications
+===========================
The chapter describes how to compile and run applications in an DPDK environment.
It also provides a pointer to where sample applications are stored.
Compiling a Sample Application
------------------------------
-Once an DPDK target environment directory has been created (such as ``x86_64-native-linuxapp-gcc``),
-it contains all libraries and header files required to build an application.
-
-When compiling an application in the Linux* environment on the DPDK, the following variables must be exported:
-
-* ``RTE_SDK`` - Points to the DPDK installation directory.
-
-* ``RTE_TARGET`` - Points to the DPDK target environment directory.
-
-The following is an example of creating the ``helloworld`` application, which runs in the DPDK Linux environment.
-This example may be found in the ``${RTE_SDK}/examples`` directory.
-
-The directory contains the ``main.c`` file. This file, when combined with the libraries in the DPDK target environment,
-calls the various functions to initialize the DPDK environment,
-then launches an entry point (dispatch application) for each core to be utilized.
-By default, the binary is generated in the build directory.
-
-.. code-block:: console
-
- cd examples/helloworld/
- export RTE_SDK=$HOME/DPDK
- export RTE_TARGET=x86_64-native-linuxapp-gcc
-
- make
- CC main.o
- LD helloworld
- INSTALL-APP helloworld
- INSTALL-MAP helloworld.map
-
- ls build/app
- helloworld helloworld.map
-
-.. note::
-
- In the above example, ``helloworld`` was in the directory structure of the DPDK.
- However, it could have been located outside the directory structure to keep the DPDK structure intact.
- In the following case, the ``helloworld`` application is copied to a new directory as a new starting point.
-
- .. code-block:: console
-
- export RTE_SDK=/home/user/DPDK
- cp -r $(RTE_SDK)/examples/helloworld my_rte_app
- cd my_rte_app/
- export RTE_TARGET=x86_64-native-linuxapp-gcc
-
- make
- CC main.o
- LD helloworld
- INSTALL-APP helloworld
- INSTALL-MAP helloworld.map
+Please refer to :ref:`building_app_using_installed_dpdk` for detail on compiling sample apps.
Running a Sample Application
----------------------------
(assuming the platform has four memory channels per processor socket,
and that cores 0-3 are present and are to be used for running the application)::
- ./helloworld -l 0-3 -n 4
+ ./dpdk-helloworld -l 0-3 -n 4
.. note::
Additional Sample Applications
------------------------------
-Additional sample applications are included in the ${RTE_SDK}/examples directory.
+Additional sample applications are included in the DPDK examples directory.
These sample applications may be built and run in a manner similar to that described in earlier sections in this manual.
In addition, see the *DPDK Sample Applications User Guide* for a description of the application,
specific instructions on compilation and execution and some explanation of the code.
-
-Additional Test Applications
-----------------------------
-
-In addition, there are two other applications that are built when the libraries are created.
-The source files for these are in the DPDK/app directory and are called test and testpmd.
-Once the libraries are created, they can be found in the build/app directory.
-
-* The test application provides a variety of specific tests for the various functions in the DPDK.
-
-* The testpmd application provides a number of different packet throughput tests and
- examples of features such as how to use the Flow Director found in the IntelĀ® 82599 10 Gigabit Ethernet Controller.