mk: use linux and freebsd in config names
Rather than using linuxapp and bsdapp everywhere, we can change things to use the, more readable, terms "linux" and "freebsd" in our build configs. Rather than renaming the configs we can just duplicate the existing ones with the new names using symlinks, and use the new names exclusively internally. ["make showconfigs" also only shows the new names to keep the list short] The result is that backward compatibility is kept fully but any new builds or development can be done using the newer names, i.e. both "make config T=x86_64-native-linuxapp-gcc" and "T=x86_64-native-linux-gcc" work. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
parent
ae2f2fee24
commit
218c4e68c1
@ -23,7 +23,7 @@ else:
|
||||
if "RTE_TARGET" in os.environ:
|
||||
dpdk_target = os.environ["RTE_TARGET"]
|
||||
else:
|
||||
dpdk_target = "x86_64-native-linuxapp-gcc"
|
||||
dpdk_target = "x86_64-native-linux-gcc"
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
description='BBdev Unit Test Application',
|
||||
|
@ -38,7 +38,7 @@ print(cmdline)
|
||||
|
||||
# how many workers to run tests with. FreeBSD doesn't support multiple primary
|
||||
# processes, so make it 1, otherwise make it 4. ignored for non-parallel tests
|
||||
n_processes = 1 if "bsdapp" in target else 4
|
||||
n_processes = 1 if "bsd" in target else 4
|
||||
|
||||
runner = autotest_runner.AutotestRunner(cmdline, target, test_blacklist,
|
||||
test_whitelist, n_processes)
|
||||
|
@ -36,7 +36,7 @@ extern cmdline_parse_ctx_t main_ctx[];
|
||||
|
||||
const char *prgname; /* to be set to argv[0] */
|
||||
|
||||
static const char *recursive_call; /* used in linuxapp for MP and other tests */
|
||||
static const char *recursive_call; /* used in linux for MP and other tests */
|
||||
|
||||
static int
|
||||
no_action(void){ return 0; }
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Copyright(c) 2017 Cavium, Inc
|
||||
#
|
||||
|
||||
#include "common_linuxapp"
|
||||
#include "common_linux"
|
||||
|
||||
CONFIG_RTE_MACHINE="armv8a"
|
||||
|
1
config/defconfig_arm-armv7a-linux-gcc
Symbolic link
1
config/defconfig_arm-armv7a-linux-gcc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_arm-armv7a-linuxapp-gcc
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright (C) 2015 RehiveTech. All right reserved.
|
||||
|
||||
#include "common_linuxapp"
|
||||
#include "common_linux"
|
||||
|
||||
CONFIG_RTE_MACHINE="armv7a"
|
||||
|
||||
|
1
config/defconfig_arm64-armv8a-linux-clang
Symbolic link
1
config/defconfig_arm64-armv8a-linux-clang
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_arm64-armv8a-linuxapp-clang
|
1
config/defconfig_arm64-armv8a-linux-gcc
Symbolic link
1
config/defconfig_arm64-armv8a-linux-gcc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_arm64-armv8a-linuxapp-gcc
|
@ -2,7 +2,7 @@
|
||||
# Copyright(c) 2017 Cavium, Inc
|
||||
#
|
||||
|
||||
#include "common_armv8a_linuxapp"
|
||||
#include "common_armv8a_linux"
|
||||
|
||||
CONFIG_RTE_TOOLCHAIN="clang"
|
||||
CONFIG_RTE_TOOLCHAIN_CLANG=y
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Copyright(c) 2015 Cavium, Inc
|
||||
#
|
||||
|
||||
#include "common_armv8a_linuxapp"
|
||||
#include "common_armv8a_linux"
|
||||
|
||||
CONFIG_RTE_TOOLCHAIN="gcc"
|
||||
CONFIG_RTE_TOOLCHAIN_GCC=y
|
||||
|
1
config/defconfig_arm64-bluefield-linux-gcc
Symbolic link
1
config/defconfig_arm64-bluefield-linux-gcc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_arm64-bluefield-linuxapp-gcc
|
@ -2,7 +2,7 @@
|
||||
# Copyright 2019 Mellanox Technologies, Ltd
|
||||
#
|
||||
|
||||
#include "defconfig_arm64-armv8a-linuxapp-gcc"
|
||||
#include "defconfig_arm64-armv8a-linux-gcc"
|
||||
|
||||
# Mellanox BlueField
|
||||
CONFIG_RTE_ARCH_ARM_TUNE="cortex-a72"
|
||||
|
1
config/defconfig_arm64-dpaa-linux-gcc
Symbolic link
1
config/defconfig_arm64-dpaa-linux-gcc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_arm64-dpaa-linuxapp-gcc
|
@ -2,7 +2,7 @@
|
||||
# Copyright 2016 Freescale Semiconductor, Inc.
|
||||
# Copyright 2017 NXP
|
||||
|
||||
#include "defconfig_arm64-armv8a-linuxapp-gcc"
|
||||
#include "defconfig_arm64-armv8a-linux-gcc"
|
||||
|
||||
# NXP (Freescale) - Soc Architecture with FMAN, QMAN & BMAN support
|
||||
CONFIG_RTE_MACHINE="dpaa"
|
||||
|
1
config/defconfig_arm64-dpaa2-linux-gcc
Symbolic link
1
config/defconfig_arm64-dpaa2-linux-gcc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_arm64-dpaa2-linuxapp-gcc
|
@ -3,7 +3,7 @@
|
||||
# Copyright 2016 NXP
|
||||
#
|
||||
|
||||
#include "defconfig_arm64-armv8a-linuxapp-gcc"
|
||||
#include "defconfig_arm64-armv8a-linux-gcc"
|
||||
|
||||
# NXP (Freescale) - Soc Architecture with WRIOP and QBMAN support
|
||||
CONFIG_RTE_MACHINE="dpaa2"
|
||||
|
1
config/defconfig_arm64-stingray-linux-gcc
Symbolic link
1
config/defconfig_arm64-stingray-linux-gcc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_arm64-stingray-linuxapp-gcc
|
@ -2,7 +2,7 @@
|
||||
# Copyright (C) Broadcom 2017-2018. All rights reserved.
|
||||
#
|
||||
|
||||
#include "defconfig_arm64-armv8a-linuxapp-gcc"
|
||||
#include "defconfig_arm64-armv8a-linux-gcc"
|
||||
|
||||
# Broadcom - Stingray
|
||||
CONFIG_RTE_MACHINE="armv8a"
|
||||
|
1
config/defconfig_arm64-thunderx-linux-gcc
Symbolic link
1
config/defconfig_arm64-thunderx-linux-gcc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_arm64-thunderx-linuxapp-gcc
|
@ -2,7 +2,7 @@
|
||||
# Copyright(c) 2015 Cavium, Inc
|
||||
#
|
||||
|
||||
#include "defconfig_arm64-armv8a-linuxapp-gcc"
|
||||
#include "defconfig_arm64-armv8a-linux-gcc"
|
||||
|
||||
CONFIG_RTE_MACHINE="thunderx"
|
||||
|
||||
|
1
config/defconfig_arm64-xgene1-linux-gcc
Symbolic link
1
config/defconfig_arm64-xgene1-linux-gcc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_arm64-xgene1-linuxapp-gcc
|
@ -2,7 +2,7 @@
|
||||
# Copyright(c) 2015 Cavium, Inc
|
||||
#
|
||||
|
||||
#include "defconfig_arm64-armv8a-linuxapp-gcc"
|
||||
#include "defconfig_arm64-armv8a-linux-gcc"
|
||||
|
||||
CONFIG_RTE_MACHINE="xgene1"
|
||||
CONFIG_RTE_CACHE_LINE_SIZE=64
|
||||
|
1
config/defconfig_i686-native-linux-gcc
Symbolic link
1
config/defconfig_i686-native-linux-gcc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_i686-native-linuxapp-gcc
|
1
config/defconfig_i686-native-linux-icc
Symbolic link
1
config/defconfig_i686-native-linux-icc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_i686-native-linuxapp-icc
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2010-2014 Intel Corporation
|
||||
|
||||
#include "common_linuxapp"
|
||||
#include "common_linux"
|
||||
|
||||
CONFIG_RTE_MACHINE="native"
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2010-2014 Intel Corporation
|
||||
|
||||
#include "common_linuxapp"
|
||||
#include "common_linux"
|
||||
|
||||
CONFIG_RTE_MACHINE="native"
|
||||
|
||||
|
1
config/defconfig_ppc_64-power8-linux-gcc
Symbolic link
1
config/defconfig_ppc_64-power8-linux-gcc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_ppc_64-power8-linuxapp-gcc
|
@ -28,7 +28,7 @@
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
#include "common_linuxapp"
|
||||
#include "common_linux"
|
||||
|
||||
CONFIG_RTE_MACHINE="power8"
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2010-2014 Intel Corporation
|
||||
|
||||
#include "common_bsdapp"
|
||||
#include "common_freebsd"
|
||||
|
||||
CONFIG_RTE_MACHINE="native"
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2010-2014 Intel Corporation
|
||||
|
||||
#include "common_bsdapp"
|
||||
#include "common_freebsd"
|
||||
|
||||
CONFIG_RTE_MACHINE="native"
|
||||
|
||||
|
1
config/defconfig_x86_64-native-freebsd-clang
Symbolic link
1
config/defconfig_x86_64-native-freebsd-clang
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_x86_64-native-bsdapp-clang
|
1
config/defconfig_x86_64-native-freebsd-gcc
Symbolic link
1
config/defconfig_x86_64-native-freebsd-gcc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_x86_64-native-bsdapp-gcc
|
1
config/defconfig_x86_64-native-linux-clang
Symbolic link
1
config/defconfig_x86_64-native-linux-clang
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_x86_64-native-linuxapp-clang
|
1
config/defconfig_x86_64-native-linux-gcc
Symbolic link
1
config/defconfig_x86_64-native-linux-gcc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_x86_64-native-linuxapp-gcc
|
1
config/defconfig_x86_64-native-linux-icc
Symbolic link
1
config/defconfig_x86_64-native-linux-icc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_x86_64-native-linuxapp-icc
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2010-2014 Intel Corporation
|
||||
|
||||
#include "common_linuxapp"
|
||||
#include "common_linux"
|
||||
|
||||
CONFIG_RTE_MACHINE="native"
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2010-2014 Intel Corporation
|
||||
|
||||
#include "common_linuxapp"
|
||||
#include "common_linux"
|
||||
|
||||
CONFIG_RTE_MACHINE="native"
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2010-2014 Intel Corporation
|
||||
|
||||
#include "common_linuxapp"
|
||||
#include "common_linux"
|
||||
|
||||
CONFIG_RTE_MACHINE="native"
|
||||
|
||||
|
1
config/defconfig_x86_x32-native-linux-gcc
Symbolic link
1
config/defconfig_x86_x32-native-linux-gcc
Symbolic link
@ -0,0 +1 @@
|
||||
defconfig_x86_x32-native-linuxapp-gcc
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2010-2014 Intel Corporation
|
||||
|
||||
#include "common_linuxapp"
|
||||
#include "common_linux"
|
||||
|
||||
CONFIG_RTE_MACHINE="native"
|
||||
|
||||
|
@ -40,8 +40,8 @@ ignore="( -name .svn -o -name CVS -o -name .hg -o -name .git ) -prune -o"
|
||||
|
||||
source_dirs="app buildtools drivers examples lib"
|
||||
|
||||
skip_bsd="( -name bsdapp ) -prune -o"
|
||||
skip_linux="( -name linuxapp ) -prune -o"
|
||||
skip_bsd="( -name freebsd ) -prune -o"
|
||||
skip_linux="( -name linux ) -prune -o"
|
||||
skip_arch="( -name arch ) -prune -o"
|
||||
skip_sse="( -name *_sse*.[chS] ) -prune -o"
|
||||
skip_avx="( -name *_avx*.[chS] ) -prune -o"
|
||||
@ -146,8 +146,8 @@ check_valid_target()
|
||||
if [ -n "$2" ]; then
|
||||
check_valid_target $2
|
||||
|
||||
echo $2 | grep -q "linuxapp-" || linux=false
|
||||
echo $2 | grep -q "bsdapp-" || bsd=false
|
||||
echo $2 | grep -q "linux" || linux=false
|
||||
echo $2 | grep -q "bsd" || bsd=false
|
||||
echo $2 | grep -q "x86_64-" || x86_64=false
|
||||
echo $2 | grep -q "arm-" || arm_32=false
|
||||
echo $2 | grep -q "arm64-" || arm_64=false
|
||||
|
@ -46,7 +46,7 @@ print_help () {
|
||||
-v verbose build
|
||||
|
||||
config: defconfig[[~][+]option1[[~][+]option2...]]
|
||||
Example: x86_64-native-linuxapp-gcc+debug~RXTX_CALLBACKS
|
||||
Example: x86_64-native-linux-gcc+debug~RXTX_CALLBACKS
|
||||
The lowercase options are defined inside $(basename $0).
|
||||
The uppercase options can be the end of a defconfig option
|
||||
to enable if prefixed with '+' or to disable if prefixed with '~'.
|
||||
|
@ -9,7 +9,7 @@ set -e
|
||||
abicheck=abi-compliance-checker
|
||||
abidump=abi-dumper
|
||||
default_dst=abi-check
|
||||
default_target=x86_64-native-linuxapp-gcc
|
||||
default_target=x86_64-native-linux-gcc
|
||||
|
||||
# trap on error
|
||||
err_report() {
|
||||
|
@ -1,7 +1,7 @@
|
||||
Basic build
|
||||
make defconfig && make
|
||||
or
|
||||
make config T=x86_64-native-linuxapp-gcc && make
|
||||
make config T=x86_64-native-linux-gcc && make
|
||||
Build commands
|
||||
config get configuration from target template (T=)
|
||||
defconfig auto-select target template based on arch, OS, etc.
|
||||
|
@ -68,7 +68,7 @@ following ``make`` command:
|
||||
.. code-block:: console
|
||||
|
||||
cd <DPDK-source-directory>
|
||||
make config T=arm64-thunderx-linuxapp-gcc install
|
||||
make config T=arm64-thunderx-linux-gcc install
|
||||
|
||||
|
||||
Initialization
|
||||
@ -97,7 +97,7 @@ probed. To use the PMD in an application, user must:
|
||||
|
||||
reserve enough huge pages
|
||||
cd to the top-level DPDK directory
|
||||
export RTE_TARGET=arm64-thunderx-linuxapp-gcc
|
||||
export RTE_TARGET=arm64-thunderx-linux-gcc
|
||||
export RTE_SDK=`pwd`
|
||||
cd to app/test
|
||||
type the command "make" to compile
|
||||
|
@ -7,12 +7,12 @@ Design
|
||||
Environment or Architecture-specific Sources
|
||||
--------------------------------------------
|
||||
|
||||
In DPDK and DPDK applications, some code is specific to an architecture (i686, x86_64) or to an executive environment (bsdapp or linuxapp) and so on.
|
||||
In DPDK and DPDK applications, some code is specific to an architecture (i686, x86_64) or to an executive environment (freebsd or linux) and so on.
|
||||
As far as is possible, all such instances of architecture or env-specific code should be provided via standard APIs in the EAL.
|
||||
|
||||
By convention, a file is common if it is not located in a directory indicating that it is specific.
|
||||
For instance, a file located in a subdir of "x86_64" directory is specific to this architecture.
|
||||
A file located in a subdir of "linuxapp" is specific to this execution environment.
|
||||
A file located in a subdir of "linux" is specific to this execution environment.
|
||||
|
||||
.. note::
|
||||
|
||||
@ -81,7 +81,7 @@ are collected for any instance of any object type provided by the library:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# DPDK file config/common_linuxapp, config/common_bsdapp, etc.
|
||||
# DPDK file config/common_linux, config/common_freebsd, etc.
|
||||
CONFIG_RTE_<LIBRARY_NAME>_STATS_COLLECT=y/n
|
||||
|
||||
The default value for this DPDK configuration file variable (either "yes" or
|
||||
|
@ -437,7 +437,7 @@ Makefile System
|
||||
Compilation of patches and changes should be tested using the ``test-build.sh`` script in the ``devtools``
|
||||
directory of the DPDK repo::
|
||||
|
||||
devtools/test-build.sh x86_64-native-linuxapp-gcc+next+shared
|
||||
devtools/test-build.sh x86_64-native-linux-gcc+next+shared
|
||||
|
||||
The script usage is::
|
||||
|
||||
@ -452,9 +452,9 @@ Where:
|
||||
|
||||
Examples of configs are::
|
||||
|
||||
x86_64-native-linuxapp-gcc
|
||||
x86_64-native-linuxapp-gcc+next+shared
|
||||
x86_64-native-linuxapp-clang+shared
|
||||
x86_64-native-linux-gcc
|
||||
x86_64-native-linux-gcc+next+shared
|
||||
x86_64-native-linux-clang+shared
|
||||
|
||||
The builds can be modified via the following environmental variables:
|
||||
|
||||
@ -468,9 +468,9 @@ These can be set from the command line or in the config files shown above in the
|
||||
|
||||
The recommended configurations and options to test compilation prior to submitting patches are::
|
||||
|
||||
x86_64-native-linuxapp-gcc+shared+next
|
||||
x86_64-native-linuxapp-clang+shared
|
||||
i686-native-linuxapp-gcc
|
||||
x86_64-native-linux-gcc+shared+next
|
||||
x86_64-native-linux-clang+shared
|
||||
i686-native-linux-gcc
|
||||
|
||||
export DPDK_DEP_ZLIB=y
|
||||
export DPDK_DEP_PCAP=y
|
||||
|
@ -557,13 +557,13 @@ on the local repo and target is the usual DPDK compilation target.
|
||||
For example::
|
||||
|
||||
# Check between the previous and latest commit:
|
||||
./devtools/validate-abi.sh HEAD~1 HEAD x86_64-native-linuxapp-gcc
|
||||
./devtools/validate-abi.sh HEAD~1 HEAD x86_64-native-linux-gcc
|
||||
|
||||
# Check between two tags:
|
||||
./devtools/validate-abi.sh v2.0.0 v2.1.0 x86_64-native-linuxapp-gcc
|
||||
./devtools/validate-abi.sh v2.0.0 v2.1.0 x86_64-native-linux-gcc
|
||||
|
||||
# Check between git master and local topic-branch "vhost-hacking":
|
||||
./devtools/validate-abi.sh master vhost-hacking x86_64-native-linuxapp-gcc
|
||||
./devtools/validate-abi.sh master vhost-hacking x86_64-native-linux-gcc
|
||||
|
||||
After the validation script completes (it can take a while since it need to
|
||||
compile both tags) it will create compatibility reports in the
|
||||
|
@ -42,7 +42,7 @@ In order to enable this virtual crypto PMD, user must:
|
||||
make -C $ARMV8_CRYPTO_LIB_PATH/
|
||||
|
||||
* Set CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO=y in
|
||||
config/defconfig_arm64-armv8a-linuxapp-gcc
|
||||
config/defconfig_arm64-armv8a-linux-gcc
|
||||
|
||||
The corresponding device can be created only if the following features
|
||||
are supported by the CPU:
|
||||
|
@ -121,14 +121,14 @@ to enable caam_jr PMD.
|
||||
Please note that enabling debugging options may affect system performance.
|
||||
|
||||
* ``CONFIG_RTE_LIBRTE_PMD_CAAM_JR`` (default ``n``)
|
||||
By default it is only enabled in common_linuxapp config.
|
||||
By default it is only enabled in common_linux config.
|
||||
Toggle compilation of the ``librte_pmd_caam_jr`` driver.
|
||||
|
||||
* ``CONFIG_RTE_LIBRTE_PMD_CAAM_JR_BE`` (default ``n``)
|
||||
By default it is disabled.
|
||||
It can be used when the underlying hardware supports the CAAM in BE mode.
|
||||
e.g. LS1043A, LS1046A supports CAAM in BE mode.
|
||||
BE mode is enabled by default in defconfig-arm64-dpaa-linuxapp-gcc.
|
||||
BE mode is enabled by default in defconfig-arm64-dpaa-linux-gcc.
|
||||
|
||||
Installations
|
||||
-------------
|
||||
@ -138,7 +138,7 @@ following ``make`` command:
|
||||
.. code-block:: console
|
||||
|
||||
cd <DPDK-source-directory>
|
||||
make config T=arm64-armv8a-linuxapp-gcc install
|
||||
make config T=arm64-armv8a-linux-gcc install
|
||||
|
||||
Enabling logs
|
||||
-------------
|
||||
|
@ -191,7 +191,7 @@ following ``make`` command:
|
||||
.. code-block:: console
|
||||
|
||||
cd <DPDK-source-directory>
|
||||
make config T=arm64-dpaa2-linuxapp-gcc install
|
||||
make config T=arm64-dpaa2-linux-gcc install
|
||||
|
||||
Enabling logs
|
||||
-------------
|
||||
|
@ -131,7 +131,7 @@ following ``make`` command:
|
||||
.. code-block:: console
|
||||
|
||||
cd <DPDK-source-directory>
|
||||
make config T=arm64-dpaa-linuxapp-gcc install
|
||||
make config T=arm64-dpaa-linux-gcc install
|
||||
|
||||
Enabling logs
|
||||
-------------
|
||||
|
@ -67,7 +67,7 @@ For Ubuntu 14.04 LTS these packages have to be installed in the build system:
|
||||
.. code-block:: console
|
||||
|
||||
sudo apt-get install openssl
|
||||
sudo apt-get install libc6-dev-i386 # for i686-native-linuxapp-gcc target
|
||||
sudo apt-get install libc6-dev-i386 # for i686-native-linux-gcc target
|
||||
|
||||
This code was also verified on Fedora 24.
|
||||
This code has NOT been verified on FreeBSD yet.
|
||||
|
@ -79,8 +79,8 @@ Finally the front-end virtio crypto PMD driver can be installed:
|
||||
|
||||
cd to the top-level DPDK directory
|
||||
sed -i 's,\(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO\)=n,\1=y,' config/common_base
|
||||
make config T=x86_64-native-linuxapp-gcc
|
||||
make install T=x86_64-native-linuxapp-gcc
|
||||
make config T=x86_64-native-linux-gcc
|
||||
make install T=x86_64-native-linux-gcc
|
||||
|
||||
Tests
|
||||
-----
|
||||
@ -91,7 +91,7 @@ The unit test cases can be tested as below:
|
||||
|
||||
reserve enough huge pages
|
||||
cd to the top-level DPDK directory
|
||||
export RTE_TARGET=x86_64-native-linuxapp-gcc
|
||||
export RTE_TARGET=x86_64-native-linux-gcc
|
||||
export RTE_SDK=`pwd`
|
||||
cd to app/test
|
||||
type the command "make" to compile
|
||||
@ -104,7 +104,7 @@ The performance can be tested as below:
|
||||
|
||||
reserve enough huge pages
|
||||
cd to the top-level DPDK directory
|
||||
export RTE_TARGET=x86_64-native-linuxapp-gcc
|
||||
export RTE_TARGET=x86_64-native-linux-gcc
|
||||
export RTE_SDK=`pwd`
|
||||
cd to app/test-crypto-perf
|
||||
type the command "make" to compile
|
||||
|
@ -62,7 +62,7 @@ In order to enable this virtual crypto PMD, user must:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make config T=x86_64-native-linuxapp-gcc
|
||||
make config T=x86_64-native-linux-gcc
|
||||
sed -i 's,\(CONFIG_RTE_LIBRTE_PMD_ZUC\)=n,\1=y,' build/.config
|
||||
make
|
||||
|
||||
|
@ -62,7 +62,7 @@ following ``make`` command:
|
||||
.. code-block:: console
|
||||
|
||||
cd <DPDK-source-directory>
|
||||
make config T=arm64-dpaa-linuxapp-gcc install
|
||||
make config T=arm64-dpaa-linux-gcc install
|
||||
|
||||
Initialization
|
||||
--------------
|
||||
|
@ -71,7 +71,7 @@ following ``make`` command:
|
||||
.. code-block:: console
|
||||
|
||||
cd <DPDK-source-directory>
|
||||
make config T=arm64-dpaa2-linuxapp-gcc install
|
||||
make config T=arm64-dpaa2-linux-gcc install
|
||||
|
||||
Initialization
|
||||
--------------
|
||||
|
@ -63,7 +63,7 @@ following ``make`` command:
|
||||
.. code-block:: console
|
||||
|
||||
cd <DPDK-source-directory>
|
||||
make config T=arm64-thunderx-linuxapp-gcc install
|
||||
make config T=arm64-thunderx-linux-gcc install
|
||||
|
||||
|
||||
Initialization
|
||||
|
@ -107,7 +107,7 @@ Where:
|
||||
|
||||
* ``MACHINE`` is: ``native``
|
||||
|
||||
* ``EXECENV`` is: ``bsdapp``
|
||||
* ``EXECENV`` is: ``freebsd``
|
||||
|
||||
* ``TOOLCHAIN`` is: ``gcc`` | ``clang``
|
||||
|
||||
@ -130,7 +130,7 @@ For example to compile for FreeBSD use:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
gmake install T=x86_64-native-bsdapp-clang
|
||||
gmake install T=x86_64-native-freebsd-clang
|
||||
|
||||
.. note::
|
||||
|
||||
@ -208,7 +208,7 @@ An error such as:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
kldload: can't load ./x86_64-native-bsdapp-gcc/kmod/contigmem.ko:
|
||||
kldload: can't load ./x86_64-native-freebsd-gcc/kmod/contigmem.ko:
|
||||
Exec format error
|
||||
|
||||
is generally attributed to not having enough contiguous memory
|
||||
|
@ -13,7 +13,7 @@ Compiling a Sample Application
|
||||
------------------------------
|
||||
|
||||
Once a DPDK target environment directory has been created (such as
|
||||
``x86_64-native-bsdapp-clang``), it contains all libraries and header files required
|
||||
``x86_64-native-freebsd-clang``), it contains all libraries and header files required
|
||||
to build an application.
|
||||
|
||||
When compiling an application in the FreeBSD environment on the DPDK,
|
||||
@ -22,8 +22,8 @@ the following variables must be exported:
|
||||
* ``RTE_SDK`` - Points to the DPDK installation directory.
|
||||
|
||||
* ``RTE_TARGET`` - Points to the DPDK target environment directory.
|
||||
For FreeBSD, this is the ``x86_64-native-bsdapp-clang`` or
|
||||
``x86_64-native-bsdapp-gcc`` directory.
|
||||
For FreeBSD, this is the ``x86_64-native-freebsd-clang`` or
|
||||
``x86_64-native-freebsd-gcc`` directory.
|
||||
|
||||
The following is an example of creating the ``helloworld`` application, which runs
|
||||
in the DPDK FreeBSD environment. While the example demonstrates compiling
|
||||
@ -43,7 +43,7 @@ in the build directory.
|
||||
cd $(RTE_SDK)
|
||||
cd examples/helloworld/
|
||||
setenv RTE_SDK $HOME/DPDK
|
||||
setenv RTE_TARGET x86_64-native-bsdapp-gcc
|
||||
setenv RTE_TARGET x86_64-native-freebsd-gcc
|
||||
|
||||
gmake CC=gcc49
|
||||
CC main.o
|
||||
@ -67,7 +67,7 @@ in the build directory.
|
||||
setenv RTE_SDK /home/user/DPDK
|
||||
cp -r $(RTE_SDK)/examples/helloworld my_rte_app
|
||||
cd my_rte_app/
|
||||
setenv RTE_TARGET x86_64-native-bsdapp-gcc
|
||||
setenv RTE_TARGET x86_64-native-freebsd-gcc
|
||||
|
||||
gmake CC=gcc49
|
||||
CC main.o
|
||||
|
@ -57,7 +57,7 @@ environmental variables should be set as below:
|
||||
|
||||
* ``RTE_SDK=/usr/local/share/dpdk``
|
||||
|
||||
* ``RTE_TARGET=x86_64-native-bsdapp-clang``
|
||||
* ``RTE_TARGET=x86_64-native-freebsd-clang``
|
||||
|
||||
.. note::
|
||||
|
||||
@ -72,7 +72,7 @@ compiled and run as below:
|
||||
|
||||
export RTE_SDK=/usr/local/share/dpdk
|
||||
|
||||
export RTE_TARGET=x86_64-native-bsdapp-clang
|
||||
export RTE_TARGET=x86_64-native-freebsd-clang
|
||||
|
||||
cp -r /usr/local/share/dpdk/examples/helloworld .
|
||||
|
||||
|
@ -7,7 +7,7 @@ Introduction
|
||||
This document contains instructions for installing and configuring the
|
||||
Data Plane Development Kit (DPDK) software. It is designed to get customers
|
||||
up and running quickly and describes how to compile and run a
|
||||
DPDK application in a FreeBSD application (bsdapp) environment, without going
|
||||
DPDK application in a FreeBSD application (freebsd) environment, without going
|
||||
deeply into detail.
|
||||
|
||||
For a comprehensive guide to installing and using FreeBSD, the following
|
||||
@ -37,7 +37,7 @@ The following is a list of DPDK documents in the suggested reading order:
|
||||
* **Programmer's Guide**: Describes:
|
||||
|
||||
* The software architecture and how to use it (through examples),
|
||||
specifically in a Linux* application (linuxapp) environment
|
||||
specifically in a Linux* application (linux) environment
|
||||
|
||||
* The content of the DPDK, the build system (including the commands
|
||||
that can be used in the root DPDK Makefile to build the development
|
||||
|
@ -591,7 +591,7 @@ Set up DPDK in the Virtual Machine
|
||||
rmmod virtio-pci ixgbevf
|
||||
|
||||
modprobe uio
|
||||
insmod /root/dpdk/x86_64-default-linuxapp-gcc/kmod/igb_uio.ko
|
||||
insmod /root/dpdk/x86_64-default-linux-gcc/kmod/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
|
||||
@ -613,7 +613,7 @@ Run testpmd in the Virtual Machine.
|
||||
|
||||
# use for bonding of virtio and vf tests in VM
|
||||
|
||||
/root/dpdk/x86_64-default-linuxapp-gcc/app/testpmd \
|
||||
/root/dpdk/x86_64-default-linux-gcc/app/testpmd \
|
||||
-l 0-3 -n 4 --socket-mem 350 -- --i --port-topology=chained
|
||||
|
||||
.. _lm_bond_virtio_sriov_switch_conf:
|
||||
|
@ -421,7 +421,7 @@ setup_dpdk_virtio_in_vm.sh
|
||||
rmmod virtio-pci
|
||||
|
||||
modprobe uio
|
||||
insmod /root/dpdk/x86_64-default-linuxapp-gcc/kmod/igb_uio.ko
|
||||
insmod /root/dpdk/x86_64-default-linux-gcc/kmod/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
|
||||
@ -437,5 +437,5 @@ run_testpmd_in_vm.sh
|
||||
# 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-linuxapp-gcc/app/testpmd \
|
||||
/root/dpdk/x86_64-default-linux-gcc/app/testpmd \
|
||||
-l 0-5 -n 4 --socket-mem 350 -- --burst=64 --i
|
||||
|
@ -132,7 +132,7 @@ Build DPDK:
|
||||
git clone git://dpdk.org/dpdk
|
||||
cd dpdk
|
||||
export RTE_SDK=$PWD
|
||||
make install T=x86_64-native-linuxapp-gcc DESTDIR=install
|
||||
make install T=x86_64-native-linux-gcc DESTDIR=install
|
||||
|
||||
|
||||
Testpmd launch
|
||||
@ -346,7 +346,7 @@ Build DPDK:
|
||||
git clone git://dpdk.org/dpdk
|
||||
cd dpdk
|
||||
export RTE_SDK=$PWD
|
||||
make install T=x86_64-native-linuxapp-gcc DESTDIR=install
|
||||
make install T=x86_64-native-linux-gcc DESTDIR=install
|
||||
|
||||
|
||||
Testpmd launch
|
||||
|
@ -60,7 +60,7 @@ some minor changes.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make install RTE_SDK=`pwd` T=x86_64-native-linuxapp-gcc
|
||||
make install RTE_SDK=`pwd` T=x86_64-native-linux-gcc
|
||||
|
||||
#. Write a Dockerfile like below.
|
||||
|
||||
@ -70,7 +70,7 @@ some minor changes.
|
||||
FROM ubuntu:latest
|
||||
WORKDIR /usr/src/dpdk
|
||||
COPY . /usr/src/dpdk
|
||||
ENV PATH "$PATH:/usr/src/dpdk/x86_64-native-linuxapp-gcc/app/"
|
||||
ENV PATH "$PATH:/usr/src/dpdk/x86_64-native-linux-gcc/app/"
|
||||
EOT
|
||||
|
||||
#. Build a Docker image.
|
||||
|
@ -46,7 +46,7 @@ where:
|
||||
|
||||
* ``MACHINE`` can be: ``native``, ``power8``, ``armv8a``
|
||||
|
||||
* ``EXECENV`` can be: ``linuxapp``, ``bsdapp``
|
||||
* ``EXECENV`` can be: ``linux``, ``freebsd``
|
||||
|
||||
* ``TOOLCHAIN`` can be: ``gcc``, ``icc``
|
||||
|
||||
@ -76,20 +76,20 @@ For example, to compile a 64-bit target using icc, run:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make install T=x86_64-native-linuxapp-icc
|
||||
make install T=x86_64-native-linux-icc
|
||||
|
||||
To compile a 32-bit build using gcc, the make command should be:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make install T=i686-native-linuxapp-gcc
|
||||
make install T=i686-native-linux-gcc
|
||||
|
||||
To prepare a target without building it, for example, if the configuration changes need to be made before compilation,
|
||||
use the ``make config T=<target>`` command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make config T=x86_64-native-linuxapp-gcc
|
||||
make config T=x86_64-native-linux-gcc
|
||||
|
||||
.. warning::
|
||||
|
||||
@ -104,7 +104,7 @@ The user may also make modifications to the compile-time DPDK configuration by e
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
cd x86_64-native-linuxapp-gcc
|
||||
cd x86_64-native-linux-gcc
|
||||
vi .config
|
||||
make
|
||||
|
||||
|
@ -15,7 +15,7 @@ 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``),
|
||||
Once an DPDK target environment directory has been created (such as ``x86_64-native-linux-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:
|
||||
@ -36,7 +36,7 @@ By default, the binary is generated in the build directory.
|
||||
|
||||
cd examples/helloworld/
|
||||
export RTE_SDK=$HOME/DPDK
|
||||
export RTE_TARGET=x86_64-native-linuxapp-gcc
|
||||
export RTE_TARGET=x86_64-native-linux-gcc
|
||||
|
||||
make
|
||||
CC main.o
|
||||
@ -58,7 +58,7 @@ By default, the binary is generated in the build directory.
|
||||
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
|
||||
export RTE_TARGET=x86_64-native-linux-gcc
|
||||
|
||||
make
|
||||
CC main.o
|
||||
|
@ -76,11 +76,11 @@ Copy the NUMA header files and lib to the cross compiler's directories:
|
||||
|
||||
Configure and cross compile DPDK Build
|
||||
--------------------------------------
|
||||
To configure a build, choose one of the target configurations, like arm64-dpaa2-linuxapp-gcc and arm64-thunderx-linuxapp-gcc.
|
||||
To configure a build, choose one of the target configurations, like arm64-dpaa2-linux-gcc and arm64-thunderx-linux-gcc.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make config T=arm64-armv8a-linuxapp-gcc
|
||||
make config T=arm64-armv8a-linux-gcc
|
||||
|
||||
To cross-compile, without compiling the kernel modules, use the following command:
|
||||
|
||||
@ -128,5 +128,5 @@ command::
|
||||
For example if the target machine is arm64 we can use the following
|
||||
command::
|
||||
|
||||
meson arm64-build --cross-file config/arm/arm64_armv8_linuxapp_gcc
|
||||
meson arm64-build --cross-file config/arm/arm64_armv8_linux_gcc
|
||||
ninja -C arm64-build
|
||||
|
@ -6,7 +6,7 @@ Introduction
|
||||
|
||||
This document contains instructions for installing and configuring the Data Plane Development Kit (DPDK) software.
|
||||
It is designed to get customers up and running quickly.
|
||||
The document describes how to compile and run a DPDK application in a Linux application (linuxapp) environment,
|
||||
The document describes how to compile and run a DPDK application in a Linux application (linux) environment,
|
||||
without going deeply into detail.
|
||||
|
||||
Documentation Roadmap
|
||||
@ -21,7 +21,7 @@ The following is a list of DPDK documents in the suggested reading order:
|
||||
|
||||
* Programmer's Guide: Describes:
|
||||
|
||||
* The software architecture and how to use it (through examples), specifically in a Linux application (linuxapp) environment
|
||||
* The software architecture and how to use it (through examples), specifically in a Linux application (linux) environment
|
||||
|
||||
* The content of the DPDK, the build system (including the commands that can be used in the root DPDK Makefile to build the development kit and
|
||||
an application) and guidelines for porting an application
|
||||
|
@ -133,7 +133,7 @@ Configurations before running DPDK
|
||||
|
||||
# Build DPDK target.
|
||||
cd dpdk_folder
|
||||
make install T=x86_64-native-linuxapp-gcc -j
|
||||
make install T=x86_64-native-linux-gcc -j
|
||||
|
||||
# Get the hugepage size.
|
||||
awk '/Hugepagesize/ {print $2}' /proc/meminfo
|
||||
|
@ -93,25 +93,25 @@ Some options in the script prompt the user for further data before proceeding.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
[1] i686-native-linuxapp-gcc
|
||||
[1] i686-native-linux-gcc
|
||||
|
||||
[2] i686-native-linuxapp-icc
|
||||
[2] i686-native-linux-icc
|
||||
|
||||
[3] ppc_64-power8-linuxapp-gcc
|
||||
[3] ppc_64-power8-linux-gcc
|
||||
|
||||
[4] x86_64-native-bsdapp-clang
|
||||
[4] x86_64-native-freebsd-clang
|
||||
|
||||
[5] x86_64-native-bsdapp-gcc
|
||||
[5] x86_64-native-freebsd-gcc
|
||||
|
||||
[6] x86_64-native-linuxapp-clang
|
||||
[6] x86_64-native-linux-clang
|
||||
|
||||
[7] x86_64-native-linuxapp-gcc
|
||||
[7] x86_64-native-linux-gcc
|
||||
|
||||
[8] x86_64-native-linuxapp-icc
|
||||
[8] x86_64-native-linux-icc
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Step 2: Setup linuxapp environment
|
||||
Step 2: Setup linux environment
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
@ -135,7 +135,7 @@ Some options in the script prompt the user for further data before proceeding.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Step 3: Run test application for linuxapp environment
|
||||
Step 3: Run test application for linux environment
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
@ -173,19 +173,19 @@ Some options in the script prompt the user for further data before proceeding.
|
||||
|
||||
Option:
|
||||
|
||||
The following selection demonstrates the creation of the ``x86_64-native-linuxapp-gcc`` DPDK library.
|
||||
The following selection demonstrates the creation of the ``x86_64-native-linux-gcc`` DPDK library.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
Option: 9
|
||||
|
||||
================== Installing x86_64-native-linuxapp-gcc
|
||||
================== Installing x86_64-native-linux-gcc
|
||||
|
||||
Configuration done
|
||||
== Build lib
|
||||
...
|
||||
Build complete
|
||||
RTE_TARGET exported as x86_64-native-linuxapp-gcc
|
||||
RTE_TARGET exported as x86_64-native-linux-gcc
|
||||
|
||||
The following selection demonstrates the starting of the DPDK UIO driver.
|
||||
|
||||
|
@ -56,7 +56,7 @@ following ``make`` command:
|
||||
.. code-block:: console
|
||||
|
||||
cd <DPDK-source-directory>
|
||||
make config T=arm64-thunderx-linuxapp-gcc
|
||||
make config T=arm64-thunderx-linux-gcc
|
||||
|
||||
|
||||
Initialization
|
||||
|
@ -33,26 +33,26 @@ Example output:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
arm-armv7a-linuxapp-gcc
|
||||
arm64-armv8a-linuxapp-gcc
|
||||
arm64-dpaa2-linuxapp-gcc
|
||||
arm64-thunderx-linuxapp-gcc
|
||||
arm64-xgene1-linuxapp-gcc
|
||||
i686-native-linuxapp-gcc
|
||||
i686-native-linuxapp-icc
|
||||
ppc_64-power8-linuxapp-gcc
|
||||
x86_64-native-bsdapp-clang
|
||||
x86_64-native-bsdapp-gcc
|
||||
x86_64-native-linuxapp-clang
|
||||
x86_64-native-linuxapp-gcc
|
||||
x86_64-native-linuxapp-icc
|
||||
x86_x32-native-linuxapp-gcc
|
||||
arm-armv7a-linux-gcc
|
||||
arm64-armv8a-linux-gcc
|
||||
arm64-dpaa2-linux-gcc
|
||||
arm64-thunderx-linux-gcc
|
||||
arm64-xgene1-linux-gcc
|
||||
i686-native-linux-gcc
|
||||
i686-native-linux-icc
|
||||
ppc_64-power8-linux-gcc
|
||||
x86_64-native-freebsd-clang
|
||||
x86_64-native-freebsd-gcc
|
||||
x86_64-native-linux-clang
|
||||
x86_64-native-linux-gcc
|
||||
x86_64-native-linux-icc
|
||||
x86_x32-native-linux-gcc
|
||||
|
||||
To compile a PMD for Linux x86_64 gcc target, run the following "make" command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make install T=x86_64-native-linuxapp-gcc
|
||||
make install T=x86_64-native-linux-gcc
|
||||
|
||||
Use ARM (ThunderX, DPAA, X-Gene) or PowerPC target for respective platform.
|
||||
|
||||
@ -102,7 +102,7 @@ This section demonstrates how to setup and run ``testpmd`` in Linux.
|
||||
.. code-block:: console
|
||||
|
||||
modprobe uio
|
||||
insmod ./x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
|
||||
insmod ./x86_64-native-linux-gcc/kmod/igb_uio.ko
|
||||
|
||||
or
|
||||
|
||||
@ -139,7 +139,7 @@ This section demonstrates how to setup and run ``testpmd`` in Linux.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./x86_64-native-linuxapp-gcc/app/testpmd -l 0-3 -n 4 -- -i
|
||||
./x86_64-native-linux-gcc/app/testpmd -l 0-3 -n 4 -- -i
|
||||
|
||||
Successful execution will show initialization messages from EAL, PMD and
|
||||
testpmd application. A prompt will be displayed at the end for user commands
|
||||
|
@ -493,7 +493,7 @@ devices managed by librte_pmd_cxgbe in FreeBSD operating system.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
cp x86_64-native-bsdapp-clang/kmod/contigmem.ko /boot/kernel/
|
||||
cp x86_64-native-freebsd-clang/kmod/contigmem.ko /boot/kernel/
|
||||
|
||||
#. Add the following lines to /boot/loader.conf:
|
||||
|
||||
@ -574,13 +574,13 @@ devices managed by librte_pmd_cxgbe in FreeBSD operating system.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
kldload ./x86_64-native-bsdapp-clang/kmod/nic_uio.ko
|
||||
kldload ./x86_64-native-freebsd-clang/kmod/nic_uio.ko
|
||||
|
||||
#. Start testpmd with basic parameters:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./x86_64-native-bsdapp-clang/app/testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
|
||||
./x86_64-native-freebsd-clang/app/testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
|
||||
|
||||
Example output:
|
||||
|
||||
|
@ -271,7 +271,7 @@ for details.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./arm64-dpaa-linuxapp-gcc/testpmd -c 0xff -n 1 \
|
||||
./arm64-dpaa-linux-gcc/testpmd -c 0xff -n 1 \
|
||||
-- -i --portmask=0x3 --nb-cores=1 --no-flush-rx
|
||||
|
||||
.....
|
||||
|
@ -584,7 +584,7 @@ PMD. Typically, the limit has to be raised to higher than 2GB.
|
||||
e.g., 2621440
|
||||
|
||||
The compilation of any unused drivers can be disabled using the
|
||||
configuration file in config/ directory (e.g., config/common_linuxapp).
|
||||
configuration file in config/ directory (e.g., config/common_linux).
|
||||
This would help in bringing down the time taken for building the
|
||||
libraries and the initialization time of the application.
|
||||
|
||||
|
@ -521,19 +521,19 @@ The setup procedure is as follows:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make install T=x86_64-native-linuxapp-gcc
|
||||
./x86_64-native-linuxapp-gcc/app/testpmd -l 0-3 -n 4 -- -i
|
||||
make install T=x86_64-native-linux-gcc
|
||||
./x86_64-native-linux-gcc/app/testpmd -l 0-3 -n 4 -- -i
|
||||
|
||||
#. Finally, access the Guest OS using vncviewer with the localhost:5900 port and check the lspci command output in the Guest OS.
|
||||
The virtual functions will be listed as available for use.
|
||||
|
||||
#. Configure and install the DPDK with an x86_64-native-linuxapp-gcc configuration on the Guest OS as normal,
|
||||
#. Configure and install the DPDK with an x86_64-native-linux-gcc configuration on the Guest OS as normal,
|
||||
that is, there is no change to the normal installation procedure.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make config T=x86_64-native-linuxapp-gcc O=x86_64-native-linuxapp-gcc
|
||||
cd x86_64-native-linuxapp-gcc
|
||||
make config T=x86_64-native-linux-gcc O=x86_64-native-linux-gcc
|
||||
cd x86_64-native-linux-gcc
|
||||
make
|
||||
|
||||
.. note::
|
||||
|
@ -223,7 +223,7 @@ These options can be modified in the ``.config`` file.
|
||||
|
||||
.. note::
|
||||
|
||||
For Bluefield, target should be set to ``arm64-bluefield-linuxapp-gcc``. This
|
||||
For Bluefield, target should be set to ``arm64-bluefield-linux-gcc``. This
|
||||
will enable ``CONFIG_RTE_LIBRTE_MLX5_PMD`` and set ``RTE_CACHE_LINE_SIZE`` to
|
||||
64. Default armv8a configuration of make build and meson build set it to 128
|
||||
then brings performance degradation.
|
||||
|
@ -133,7 +133,7 @@ the path to the MUSDK installation directory needs to be exported.
|
||||
|
||||
export LIBMUSDK_PATH=<musdk>/usr/local
|
||||
export CROSS=aarch64-linux-gnu-
|
||||
make config T=arm64-armv8a-linuxapp-gcc
|
||||
make config T=arm64-armv8a-linux-gcc
|
||||
sed -ri 's,(MVNETA_PMD=)n,\1y,' build/.config
|
||||
make
|
||||
|
||||
|
@ -180,9 +180,9 @@ For additional instructions regarding DPDK cross compilation please refer to :do
|
||||
export LIBMUSDK_PATH=<musdk>/usr/local
|
||||
export CROSS=<toolchain>/bin/aarch64-linux-gnu-
|
||||
export RTE_KERNELDIR=<kernel-dir>
|
||||
export RTE_TARGET=arm64-armv8a-linuxapp-gcc
|
||||
export RTE_TARGET=arm64-armv8a-linux-gcc
|
||||
|
||||
make config T=arm64-armv8a-linuxapp-gcc
|
||||
make config T=arm64-armv8a-linux-gcc
|
||||
sed -i "s/MVNETA_PMD=y/MVNETA_PMD=n/" build/.config
|
||||
sed -i "s/MVPP2_PMD=n/MVPP2_PMD=y/" build/.config
|
||||
make
|
||||
|
@ -75,7 +75,7 @@ compile it along with other DPDK PMDs even if no BSP was installed previously.
|
||||
Of course, a DPDK app will require such a BSP installed for using the
|
||||
NFP PMD, along with a specific NFP firmware application.
|
||||
|
||||
Default PMD configuration is at the **common_linuxapp configuration** file:
|
||||
Default PMD configuration is at the **common_linux configuration** file:
|
||||
|
||||
- **CONFIG_RTE_LIBRTE_NFP_PMD=y**
|
||||
|
||||
|
@ -71,7 +71,7 @@ following ``make`` command:
|
||||
.. code-block:: console
|
||||
|
||||
cd <DPDK-source-directory>
|
||||
make config T=arm64-thunderx-linuxapp-gcc install
|
||||
make config T=arm64-thunderx-linux-gcc install
|
||||
|
||||
#. Running testpmd:
|
||||
|
||||
@ -83,7 +83,7 @@ following ``make`` command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./arm64-thunderx-linuxapp-gcc/app/testpmd -c 700 \
|
||||
./arm64-thunderx-linux-gcc/app/testpmd -c 700 \
|
||||
--base-virtaddr=0x100000000000 \
|
||||
--mbuf-pool-ops-name="octeontx_fpavf" \
|
||||
--vdev='event_octeontx' \
|
||||
|
@ -54,7 +54,7 @@ Release Notes*.
|
||||
Build options
|
||||
-------------
|
||||
|
||||
The default PMD configuration available in the common_linuxapp configuration file:
|
||||
The default PMD configuration available in the common_linux configuration file:
|
||||
|
||||
CONFIG_RTE_LIBRTE_PMD_SOFTNIC=y
|
||||
|
||||
@ -347,7 +347,7 @@ commands.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./x86_64-native-linuxapp-gcc/app/testpmd -l 23-25 -n 4 \
|
||||
./x86_64-native-linux-gcc/app/testpmd -l 23-25 -n 4 \
|
||||
--vdev 'net_softnic0, \
|
||||
firmware=./drivers/net/softnic/ \
|
||||
firmware.cli, \
|
||||
|
@ -181,7 +181,7 @@ used to build the dpdk you pulled down.
|
||||
Run pktgen from the pktgen directory in a terminal with a commandline like the
|
||||
following::
|
||||
|
||||
sudo ./app/app/x86_64-native-linuxapp-gcc/app/pktgen -l 1-5 -n 4 \
|
||||
sudo ./app/app/x86_64-native-linux-gcc/app/pktgen -l 1-5 -n 4 \
|
||||
--proc-type auto --log-level debug --socket-mem 512,512 --file-prefix pg \
|
||||
--vdev=net_tap0 --vdev=net_tap1 -b 05:00.0 -b 05:00.1 \
|
||||
-b 04:00.0 -b 04:00.1 -b 04:00.2 -b 04:00.3 \
|
||||
|
@ -70,7 +70,7 @@ Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and
|
||||
for details.
|
||||
|
||||
To compile the ThunderX NICVF PMD for Linux arm64 gcc,
|
||||
use arm64-thunderx-linuxapp-gcc as target.
|
||||
use arm64-thunderx-linux-gcc as target.
|
||||
|
||||
Linux
|
||||
-----
|
||||
@ -177,7 +177,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./arm64-thunderx-linuxapp-gcc/app/testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
|
||||
./arm64-thunderx-linux-gcc/app/testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
|
||||
-- -i --no-flush-rx \
|
||||
--port-topology=loop
|
||||
|
||||
|
@ -95,7 +95,7 @@ drivers can be compiled with the following steps,
|
||||
.. code-block:: console
|
||||
|
||||
cd <dpdk directory>
|
||||
make config T=arm64-thunderx-linuxapp-gcc
|
||||
make config T=arm64-thunderx-linux-gcc
|
||||
make
|
||||
|
||||
The example applications can be compiled using the following:
|
||||
@ -144,7 +144,7 @@ to build applications for **OCTEON TX** :sup:`®` platforms.
|
||||
cd <dpdk directory>
|
||||
export RTE_SDK=$PWD
|
||||
export RTE_KERNELDIR=$THUNDER_ROOT/linux/kernel/linux
|
||||
make config T=arm64-thunderx-linuxapp-gcc
|
||||
make config T=arm64-thunderx-linux-gcc
|
||||
make -j CROSS=aarch64-thunderx-linux-gnu- CONFIG_RTE_KNI_KMOD=n CONFIG_RTE_EAL_IGB_UIO=n EXTRA_CFLAGS="-isystem <numa_install_dir>/include" EXTRA_LDFLAGS="-L<numa_install_dir>/lib -lnuma"
|
||||
|
||||
If NUMA support is not required, it can be disabled as explained in
|
||||
@ -154,7 +154,7 @@ Following steps could be used in that case.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make config T=arm64-thunderx-linuxapp-gcc
|
||||
make config T=arm64-thunderx-linux-gcc
|
||||
make CROSS=aarch64-thunderx-linux-gnu-
|
||||
|
||||
|
||||
|
@ -16,7 +16,7 @@ RTE_SDK and RTE_TARGET.
|
||||
|
||||
~/DPDK$ cd examples/helloworld/
|
||||
~/DPDK/examples/helloworld$ export RTE_SDK=/home/user/DPDK
|
||||
~/DPDK/examples/helloworld$ export RTE_TARGET=x86_64-native-linuxapp-gcc
|
||||
~/DPDK/examples/helloworld$ export RTE_TARGET=x86_64-native-linux-gcc
|
||||
~/DPDK/examples/helloworld$ make
|
||||
CC main.o
|
||||
LD helloworld
|
||||
@ -40,7 +40,7 @@ The sample application (Hello World) can be duplicated in a new directory as a s
|
||||
~$ cp -r DPDK/examples/helloworld my_rte_app
|
||||
~$ cd my_rte_app/
|
||||
~/my_rte_app$ export RTE_SDK=/home/user/DPDK
|
||||
~/my_rte_app$ export RTE_TARGET=x86_64-native-linuxapp-gcc
|
||||
~/my_rte_app$ export RTE_TARGET=x86_64-native-linux-gcc
|
||||
~/my_rte_app$ make
|
||||
CC main.o
|
||||
LD helloworld
|
||||
|
@ -31,13 +31,13 @@ Each build directory contains include files, libraries, and applications.
|
||||
A build directory is specific to a configuration that includes architecture + execution environment + toolchain.
|
||||
It is possible to have several build directories sharing the same sources with different configurations.
|
||||
|
||||
For instance, to create a new build directory called my_sdk_build_dir using the default configuration template config/defconfig_x86_64-linuxapp,
|
||||
For instance, to create a new build directory called my_sdk_build_dir using the default configuration template config/defconfig_x86_64-linux,
|
||||
we use:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
cd ${RTE_SDK}
|
||||
make config T=x86_64-native-linuxapp-gcc O=my_sdk_build_dir
|
||||
make config T=x86_64-native-linux-gcc O=my_sdk_build_dir
|
||||
|
||||
This creates a new my_sdk_build_dir directory. After that, we can compile by doing:
|
||||
|
||||
@ -65,7 +65,7 @@ To compile an application, the user must set the RTE_SDK and RTE_TARGET environm
|
||||
.. code-block:: console
|
||||
|
||||
export RTE_SDK=/opt/DPDK
|
||||
export RTE_TARGET=x86_64-native-linuxapp-gcc
|
||||
export RTE_TARGET=x86_64-native-linux-gcc
|
||||
cd /path/to/my_app
|
||||
|
||||
For a new application, the user must create their own Makefile that includes some .mk files, such as
|
||||
@ -246,7 +246,7 @@ Useful Variables Provided by the Build System
|
||||
* RTE_TOOLCHAIN: Defines the toolchain (gcc , icc).
|
||||
It is the same value as CONFIG_RTE_TOOLCHAIN but without the double-quotes around the string.
|
||||
|
||||
* RTE_EXEC_ENV: Defines the executive environment (linuxapp).
|
||||
* RTE_EXEC_ENV: Defines the executive environment (linux).
|
||||
It is the same value as CONFIG_RTE_EXEC_ENV but without the double-quotes around the string.
|
||||
|
||||
* RTE_KERNELDIR: This variable contains the absolute path to the kernel sources that will be used to compile the kernel modules.
|
||||
|
@ -27,7 +27,7 @@ This is an optional parameter, the default output directory is build.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make config O=mybuild T=x86_64-native-linuxapp-gcc
|
||||
make config O=mybuild T=x86_64-native-linux-gcc
|
||||
|
||||
Build Targets
|
||||
-------------
|
||||
@ -163,7 +163,7 @@ For instance, the following command:
|
||||
.. code-block:: console
|
||||
|
||||
cd $(RTE_SDK)
|
||||
make config O=mybuild T=x86_64-native-linuxapp-gcc
|
||||
make config O=mybuild T=x86_64-native-linux-gcc
|
||||
make O=mybuild
|
||||
|
||||
is equivalent to:
|
||||
@ -171,7 +171,7 @@ is equivalent to:
|
||||
.. code-block:: console
|
||||
|
||||
cd $(RTE_SDK)
|
||||
make config O=mybuild T=x86_64-native-linuxapp-gcc
|
||||
make config O=mybuild T=x86_64-native-linux-gcc
|
||||
cd mybuild
|
||||
|
||||
# no need to specify O= now
|
||||
|
@ -54,7 +54,7 @@ A check is also performed at initialization time to ensure that the micro archit
|
||||
Then, the main() function is called. The core initialization and launch is done in rte_eal_init() (see the API documentation).
|
||||
It consist of calls to the pthread library (more specifically, pthread_self(), pthread_create(), and pthread_setaffinity_np()).
|
||||
|
||||
.. _figure_linuxapp_launch:
|
||||
.. _figure_linux_launch:
|
||||
|
||||
.. figure:: img/linuxapp_launch.*
|
||||
|
||||
@ -79,7 +79,7 @@ API documentation for details.
|
||||
Multi-process Support
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The Linuxapp EAL allows a multi-process as well as a multi-threaded (pthread) deployment model.
|
||||
The Linux EAL allows a multi-process as well as a multi-threaded (pthread) deployment model.
|
||||
See chapter
|
||||
:ref:`Multi-process Support <Multi-process_Support>` for more details.
|
||||
|
||||
|
@ -22,7 +22,7 @@ The following variables must be defined:
|
||||
|
||||
* ${RTE_SDK}: Points to the root directory of the DPDK.
|
||||
|
||||
* ${RTE_TARGET}: Reference the target to be used for compilation (for example, x86_64-native-linuxapp-gcc).
|
||||
* ${RTE_TARGET}: Reference the target to be used for compilation (for example, x86_64-native-linux-gcc).
|
||||
|
||||
Build Targets
|
||||
-------------
|
||||
@ -94,5 +94,5 @@ It is possible to run the Makefile from another directory, by specifying the out
|
||||
.. code-block:: console
|
||||
|
||||
export RTE_SDK=/path/to/DPDK
|
||||
export RTE_TARGET=x86_64-native-linuxapp-icc
|
||||
export RTE_TARGET=x86_64-native-linux-icc
|
||||
make -f /path/to/my_app/Makefile S=/path/to/my_app O=/path/to/build_dir
|
||||
|
@ -73,7 +73,7 @@ To add a new library to the DPDK, proceed as follows:
|
||||
.. code-block:: console
|
||||
|
||||
cd ${RTE_SDK}
|
||||
make config T=x86_64-native-linuxapp-gcc
|
||||
make config T=x86_64-native-linux-gcc
|
||||
make
|
||||
|
||||
|
||||
@ -105,5 +105,5 @@ Once you have added a library, a new test case should be added in the test appli
|
||||
.. code-block:: console
|
||||
|
||||
cd ${RTE_SDK}
|
||||
make config T=x86_64-native-linuxapp-gcc
|
||||
make config T=x86_64-native-linux-gcc
|
||||
make
|
||||
|
@ -205,7 +205,7 @@ SW
|
||||
Target
|
||||
In the DPDK, the target is a combination of architecture, machine,
|
||||
executive environment and toolchain. For example:
|
||||
i686-native-linuxapp-gcc.
|
||||
i686-native-linux-gcc.
|
||||
|
||||
TCP
|
||||
Transmission Control Protocol
|
||||
|
@ -17,9 +17,9 @@
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="linuxapp_launch.svg"
|
||||
sodipodi:docname="linux_launch.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/linuxapp_launch.png"
|
||||
inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/linux_launch.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
version="1.1">
|
||||
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
@ -31,7 +31,7 @@ The following is a list of DPDK documents in the suggested reading order:
|
||||
* **Programmer's Guide** (this document): Describes:
|
||||
|
||||
* The software architecture and how to use it (through examples),
|
||||
specifically in a Linux* application (linuxapp) environment
|
||||
specifically in a Linux* application (linux) environment
|
||||
|
||||
* The content of the DPDK, the build system
|
||||
(including the commands that can be used in the root DPDK Makefile to build the development kit and an application)
|
||||
|
@ -52,7 +52,7 @@ The following are examples of how the variables can be set:
|
||||
.. code-block:: console
|
||||
|
||||
export RTE_SDK=/home/user/DPDK
|
||||
export RTE_TARGET=x86_64-native-linuxapp-gcc
|
||||
export RTE_TARGET=x86_64-native-linux-gcc
|
||||
|
||||
See the *DPDK Getting Started Guide* for information on setting up the development environment.
|
||||
|
||||
|
@ -84,7 +84,7 @@ an armv8 machine.
|
||||
make
|
||||
sudo insmod pmu_el0_cycle_counter.ko
|
||||
cd $DPDK_DIR
|
||||
make config T=arm64-armv8a-linuxapp-gcc
|
||||
make config T=arm64-armv8a-linux-gcc
|
||||
echo "CONFIG_RTE_ARM_EAL_RDTSC_USE_PMU=y" >> build/.config
|
||||
make
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user