2015-01-23 12:31:59 +00:00
|
|
|
DPDK Maintainers
|
|
|
|
================
|
|
|
|
|
|
|
|
The intention of this file is to provide a set of names that we can rely on
|
|
|
|
for helping in patch reviews and questions.
|
|
|
|
These names are additional recipients for emails sent to dev@dpdk.org.
|
|
|
|
Please avoid private emails.
|
|
|
|
|
|
|
|
Descriptions of section entries:
|
|
|
|
|
|
|
|
M: Maintainer's Full Name <address@domain>
|
|
|
|
T: Git tree location.
|
|
|
|
F: Files and directories with wildcard patterns.
|
|
|
|
A trailing slash includes all files and subdirectory files.
|
|
|
|
A wildcard includes all files but not subdirectories.
|
|
|
|
One pattern per line. Multiple F: lines acceptable.
|
|
|
|
X: Files and directories exclusion, same rules as F:
|
|
|
|
K: Keyword regex pattern to match content.
|
|
|
|
One regex pattern per line. Multiple K: lines acceptable.
|
|
|
|
|
|
|
|
|
|
|
|
General Project Administration
|
|
|
|
------------------------------
|
2017-09-19 15:48:48 +00:00
|
|
|
|
|
|
|
Main Branch
|
2017-04-18 21:36:51 +00:00
|
|
|
M: Thomas Monjalon <thomas@monjalon.net>
|
2019-09-26 10:12:55 +00:00
|
|
|
M: David Marchand <david.marchand@redhat.com>
|
2015-01-23 12:31:59 +00:00
|
|
|
T: git://dpdk.org/dpdk
|
|
|
|
|
2018-03-28 19:30:40 +00:00
|
|
|
Next-net Tree
|
2022-09-21 13:41:01 +00:00
|
|
|
M: Ferruh Yigit <ferruh.yigit@amd.com>
|
2020-09-24 13:40:22 +00:00
|
|
|
M: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
|
2018-03-28 19:30:40 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net
|
|
|
|
|
2019-10-15 07:38:00 +00:00
|
|
|
Next-net-brcm Tree
|
|
|
|
M: Ajit Khaparde <ajit.khaparde@broadcom.com>
|
|
|
|
T: git://dpdk.org/next/dpdk-next-net-brcm
|
|
|
|
|
2018-03-28 19:30:40 +00:00
|
|
|
Next-net-intel Tree
|
2019-12-11 09:12:35 +00:00
|
|
|
M: Qi Zhang <qi.z.zhang@intel.com>
|
2018-03-28 19:30:40 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-intel
|
|
|
|
|
2019-06-25 05:42:41 +00:00
|
|
|
Next-net-mrvl Tree
|
|
|
|
M: Jerin Jacob <jerinj@marvell.com>
|
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mrvl
|
|
|
|
|
2018-03-28 19:30:40 +00:00
|
|
|
Next-net-mlx Tree
|
2020-08-12 16:08:35 +00:00
|
|
|
M: Raslan Darawsheh <rasland@nvidia.com>
|
2018-03-28 19:30:40 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mlx
|
|
|
|
|
|
|
|
Next-virtio Tree
|
2018-04-23 01:18:35 +00:00
|
|
|
M: Maxime Coquelin <maxime.coquelin@redhat.com>
|
2020-07-30 13:46:31 +00:00
|
|
|
M: Chenbo Xia <chenbo.xia@intel.com>
|
2018-03-28 19:30:40 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-virtio
|
|
|
|
|
|
|
|
Next-crypto Tree
|
2021-02-23 08:42:49 +00:00
|
|
|
M: Akhil Goyal <gakhil@marvell.com>
|
2018-03-28 19:30:40 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-crypto
|
|
|
|
|
|
|
|
Next-eventdev Tree
|
2018-12-16 15:43:25 +00:00
|
|
|
M: Jerin Jacob <jerinj@marvell.com>
|
2018-03-28 19:30:40 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-eventdev
|
|
|
|
|
2016-07-25 12:56:37 +00:00
|
|
|
Stable Branches
|
2018-02-13 23:31:07 +00:00
|
|
|
M: Luca Boccassi <bluca@debian.org>
|
2019-09-05 15:49:44 +00:00
|
|
|
M: Kevin Traynor <ktraynor@redhat.com>
|
2021-12-13 16:48:57 +00:00
|
|
|
M: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
|
|
M: Xueming Li <xuemingl@nvidia.com>
|
2016-07-25 12:56:37 +00:00
|
|
|
T: git://dpdk.org/dpdk-stable
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Security Issues
|
|
|
|
M: maintainers@dpdk.org
|
|
|
|
|
|
|
|
Documentation (with overlaps)
|
2015-12-02 04:20:05 +00:00
|
|
|
F: README
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/
|
|
|
|
|
2017-09-19 15:48:48 +00:00
|
|
|
Developers and Maintainers Tools
|
|
|
|
M: Thomas Monjalon <thomas@monjalon.net>
|
|
|
|
F: MAINTAINERS
|
2020-07-07 08:35:55 +00:00
|
|
|
F: devtools/build-dict.sh
|
2022-08-08 10:58:34 +00:00
|
|
|
F: devtools/check-abi.sh
|
|
|
|
F: devtools/check-abi-version.sh
|
2021-04-06 22:28:12 +00:00
|
|
|
F: devtools/check-doc-vs-code.sh
|
2017-09-19 15:48:48 +00:00
|
|
|
F: devtools/check-dup-includes.sh
|
|
|
|
F: devtools/check-maintainers.sh
|
2018-09-27 09:04:08 +00:00
|
|
|
F: devtools/check-forbidden-tokens.awk
|
2017-09-19 15:48:48 +00:00
|
|
|
F: devtools/check-git-log.sh
|
2020-07-14 23:21:01 +00:00
|
|
|
F: devtools/check-spdx-tag.sh
|
2022-08-08 10:58:34 +00:00
|
|
|
F: devtools/check-symbol-change.sh
|
2018-05-27 21:54:47 +00:00
|
|
|
F: devtools/check-symbol-maps.sh
|
2017-09-19 15:48:48 +00:00
|
|
|
F: devtools/checkpatches.sh
|
2022-08-08 10:58:34 +00:00
|
|
|
F: devtools/gen-abi.sh
|
2017-08-04 14:01:25 +00:00
|
|
|
F: devtools/get-maintainer.sh
|
2017-09-19 15:48:48 +00:00
|
|
|
F: devtools/git-log-fixes.sh
|
|
|
|
F: devtools/load-devel-config
|
2021-04-06 22:28:12 +00:00
|
|
|
F: devtools/parse-flow-support.sh
|
2022-02-15 12:29:48 +00:00
|
|
|
F: devtools/process-iwyu.py
|
2022-08-08 10:58:34 +00:00
|
|
|
F: devtools/update-abi.sh
|
2021-04-20 10:22:31 +00:00
|
|
|
F: devtools/update-patches.py
|
2022-08-08 10:58:34 +00:00
|
|
|
F: devtools/update_version_map_abi.py
|
|
|
|
F: devtools/libabigail.abignore
|
2020-02-24 15:30:01 +00:00
|
|
|
F: devtools/words-case.txt
|
license: introduce SPDX identifiers
The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are naturally GPLv2 licensed.
Many of the files in the DPDK source code contain the full text of the
applicable license. For example, most of the BSD-3-Clause files contain a
full copy of the BSD-3-Clause license text.
Including big blocks of License headers in all files blows up the source
code with mostly redundant information. An additional problem is that even
the same licenses are referred to by a number of slightly varying text
blocks (full, abbreviated, different indentation, line wrapping and/or
white space, with obsolete address information, ...) which makes validation
and automatic processing a nightmare.
To make this easier, DPDK uses of a single line reference to
Unique License Identifiers in source files as defined by the Linux
Foundation's SPDX project https://spdk.org.
Adding license information in this fashion, rather than adding full license
text, can be more efficient for developers; decreases errors; and improves
automated detection of licenses. The current set of valid, predefined SPDX
identifiers is set forth on the SPDX License List at
https://spdx.org/licenses/.
For example, to label a file as subject to the BSD-3-Clause license,
the following text would be used as the top line of the file.
SPDX-License-Identifier: BSD-3-Clause
Note: Any new file contributions in DPDK shall adhere to the above scheme.
It is also recommended to replace or at least amend the existing license
text in the code with SPDX-License-Identifiers.
Any exception to DPDK IP policies shall be approved by DPDK tech board and
DPDK Governing Board. Steps for any exception approval:
1. Mention the appropriate license identifier form SPDX. If the license is
not listed in SPDX Licenses. It is the submitters responsibiliity to get
it first listed.
2. Get the required approval from the DPDK Technical Board. Technical board
may advise the author to check alternate means first. If no other
alternatives are found and the merit of the contributions are important
for DPDK's mission, it may decide on such exception with two-thirds vote
of the members.
3. Technical board then approach Governing board for such limited approval
for the given contribution only.
Any approvals shall be documented in "licenses/exceptions.txt" with record
dates.
Note: From the legal point of view, this patch is supposed to be only a
change to the textual representation of the license information, but in no
way any change to the actual license terms. With this patch applied, all
files will still be licensed under the same terms they were before.
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2017-12-19 10:14:38 +00:00
|
|
|
F: license/
|
2019-10-25 14:04:10 +00:00
|
|
|
F: .editorconfig
|
2017-09-19 15:48:48 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Build System
|
build: add infrastructure for meson and ninja builds
To build with meson and ninja, we need some initial infrastructure in
place. The build files for meson always need to be called "meson.build",
and options get placed in meson_options.txt
This commit adds a top-level meson.build file, which sets up the global
variables for tracking drivers, libraries, etc., and then includes other
build files, before finishing by writing the global build configuration
header file and a DPDK pkgconfig file at the end, using some of those same
globals.
From the top level build file, the only include file thus far is for the
config folder, which does some other setup of global configuration
parameters, including pulling in architecture specific parameters from an
architectural subdirectory. A number of configuration build options are
provided for the project to tune a number of global variables which will be
used later e.g. max numa nodes, max cores, etc. These settings all make
their way to the global build config header "rte_build_config.h". There is
also a file "rte_config.h", which includes "rte_build_config.h", and this
file is meant to hold other build-time values which are present in our
current static build configuration but are not normally meant for
user-configuration. Ideally, over time, the values placed here should be
moved to the individual libraries or drivers which want those values.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
Acked-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-08-28 10:57:12 +00:00
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
2020-09-03 15:26:51 +00:00
|
|
|
F: Makefile
|
build: add infrastructure for meson and ninja builds
To build with meson and ninja, we need some initial infrastructure in
place. The build files for meson always need to be called "meson.build",
and options get placed in meson_options.txt
This commit adds a top-level meson.build file, which sets up the global
variables for tracking drivers, libraries, etc., and then includes other
build files, before finishing by writing the global build configuration
header file and a DPDK pkgconfig file at the end, using some of those same
globals.
From the top level build file, the only include file thus far is for the
config folder, which does some other setup of global configuration
parameters, including pulling in architecture specific parameters from an
architectural subdirectory. A number of configuration build options are
provided for the project to tune a number of global variables which will be
used later e.g. max numa nodes, max cores, etc. These settings all make
their way to the global build config header "rte_build_config.h". There is
also a file "rte_config.h", which includes "rte_build_config.h", and this
file is meant to hold other build-time values which are present in our
current static build configuration but are not normally meant for
user-configuration. Ideally, over time, the values placed here should be
moved to the individual libraries or drivers which want those values.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
Acked-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-08-28 10:57:12 +00:00
|
|
|
F: meson.build
|
|
|
|
F: meson_options.txt
|
2020-09-03 15:26:51 +00:00
|
|
|
F: config/
|
2022-08-08 10:58:34 +00:00
|
|
|
F: buildtools/check-symbols.sh
|
2021-01-29 16:48:21 +00:00
|
|
|
F: buildtools/chkincs/
|
2020-01-10 21:52:04 +00:00
|
|
|
F: buildtools/call-sphinx-build.py
|
2021-08-17 10:45:56 +00:00
|
|
|
F: buildtools/get-cpu-count.py
|
|
|
|
F: buildtools/get-numa-count.py
|
2020-01-27 14:28:22 +00:00
|
|
|
F: buildtools/list-dir-globs.py
|
2022-08-08 10:58:34 +00:00
|
|
|
F: buildtools/map-list-symbol.sh
|
2020-06-30 14:14:30 +00:00
|
|
|
F: buildtools/pkg-config/
|
2017-12-06 10:45:48 +00:00
|
|
|
F: buildtools/symlink-drivers-solibs.sh
|
2021-04-26 10:07:32 +00:00
|
|
|
F: buildtools/symlink-drivers-solibs.py
|
2020-09-03 15:26:50 +00:00
|
|
|
F: devtools/test-meson-builds.sh
|
2021-04-26 10:54:02 +00:00
|
|
|
F: devtools/check-meson.py
|
build: add infrastructure for meson and ninja builds
To build with meson and ninja, we need some initial infrastructure in
place. The build files for meson always need to be called "meson.build",
and options get placed in meson_options.txt
This commit adds a top-level meson.build file, which sets up the global
variables for tracking drivers, libraries, etc., and then includes other
build files, before finishing by writing the global build configuration
header file and a DPDK pkgconfig file at the end, using some of those same
globals.
From the top level build file, the only include file thus far is for the
config folder, which does some other setup of global configuration
parameters, including pulling in architecture specific parameters from an
architectural subdirectory. A number of configuration build options are
provided for the project to tune a number of global variables which will be
used later e.g. max numa nodes, max cores, etc. These settings all make
their way to the global build config header "rte_build_config.h". There is
also a file "rte_config.h", which includes "rte_build_config.h", and this
file is meant to hold other build-time values which are present in our
current static build configuration but are not normally meant for
user-configuration. Ideally, over time, the values placed here should be
moved to the individual libraries or drivers which want those values.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
Acked-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-08-28 10:57:12 +00:00
|
|
|
|
2019-03-25 15:32:08 +00:00
|
|
|
Public CI
|
|
|
|
M: Aaron Conole <aconole@redhat.com>
|
2019-08-15 22:54:52 +00:00
|
|
|
M: Michael Santana <maicolgabriel@hotmail.com>
|
2019-03-25 15:32:08 +00:00
|
|
|
F: .travis.yml
|
ci: hook to GitHub Actions
With the recent changes in terms of free access to the Travis CI, let's
offer an alternative with GitHub Actions.
Running jobs on ARM is not supported unless using external runners, so
this commit only adds builds for x86_64 and cross compiling for i386 and
aarch64.
Differences with the Travis CI integration:
- Error logs are not dumped to the console when something goes wrong.
Instead, they are gathered in a "catch-all" step and attached as
artifacts.
- A cache entry is stored once and for all, but if no cache is found you
can inherit from the default branch cache. The cache is 5GB large, for
the whole git repository.
- The maximum retention of logs and artifacts is 3 months.
- /home/runner is world writable, so a workaround has been added for
starting dpdk processes.
- Ilya, working on OVS GHA support, noticed that jobs can run with
processors that don't have the same capabilities. For DPDK, this
impacts the ccache content since everything was built with
-march=native so far, and we will end up with binaries that can't run
in a later build. The problem has not been seen in Travis CI (?) but
it is safer to use a fixed "-Dmachine=default" in any case.
- Scheduling jobs is part of the configuration and takes the form of a
crontab. A build is scheduled every Monday at 0:00 (UTC) to provide a
default ccache for the week (useful for the ovsrobot).
Signed-off-by: David Marchand <david.marchand@redhat.com>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Aaron Conole <aconole@redhat.com>
2020-12-04 17:36:21 +00:00
|
|
|
F: .github/workflows/build.yml
|
2019-03-25 15:32:08 +00:00
|
|
|
F: .ci/
|
|
|
|
|
2016-07-07 09:59:33 +00:00
|
|
|
Driver information
|
2021-01-24 20:51:57 +00:00
|
|
|
M: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
|
2021-01-08 02:47:20 +00:00
|
|
|
F: buildtools/coff.py
|
2021-01-08 02:47:22 +00:00
|
|
|
F: buildtools/gen-pmdinfo-cfile.py
|
2021-01-24 20:51:57 +00:00
|
|
|
F: buildtools/pmdinfogen.py
|
2016-12-15 21:25:36 +00:00
|
|
|
F: usertools/dpdk-pmdinfo.py
|
2016-08-31 07:50:11 +00:00
|
|
|
F: doc/guides/tools/pmdinfo.rst
|
2016-07-07 09:59:33 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Environment Abstraction Layer
|
|
|
|
-----------------------------
|
2020-01-20 20:35:13 +00:00
|
|
|
T: git://dpdk.org/dpdk
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
EAL API and common code
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/common/
|
|
|
|
F: lib/eal/unix/
|
|
|
|
F: lib/eal/include/
|
|
|
|
F: lib/eal/version.map
|
2015-02-04 08:08:45 +00:00
|
|
|
F: doc/guides/prog_guide/env_abstraction_layer.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_alarm.c
|
|
|
|
F: app/test/test_atomic.c
|
|
|
|
F: app/test/test_barrier.c
|
|
|
|
F: app/test/test_byteorder.c
|
|
|
|
F: app/test/test_common.c
|
|
|
|
F: app/test/test_cpuflags.c
|
|
|
|
F: app/test/test_cycles.c
|
|
|
|
F: app/test/test_debug.c
|
2021-10-20 15:47:39 +00:00
|
|
|
F: app/test/test_devargs.c
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_eal*
|
|
|
|
F: app/test/test_errno.c
|
2020-07-06 20:52:30 +00:00
|
|
|
F: app/test/test_lcores.c
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_logs.c
|
|
|
|
F: app/test/test_memcpy*
|
|
|
|
F: app/test/test_per_lcore.c
|
2021-04-02 01:42:47 +00:00
|
|
|
F: app/test/test_pflock.c
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_prefetch.c
|
|
|
|
F: app/test/test_reciprocal_division*
|
|
|
|
F: app/test/test_rwlock.c
|
|
|
|
F: app/test/test_spinlock.c
|
|
|
|
F: app/test/test_string_fns.c
|
|
|
|
F: app/test/test_tailq.c
|
2022-05-12 13:14:30 +00:00
|
|
|
F: app/test/test_threads.c
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_version.c
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2020-04-22 19:03:19 +00:00
|
|
|
Trace - EXPERIMENTAL
|
|
|
|
M: Jerin Jacob <jerinj@marvell.com>
|
|
|
|
M: Sunil Kumar Kori <skori@marvell.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/include/rte_trace*.h
|
|
|
|
F: lib/eal/common/eal_common_trace*.c
|
|
|
|
F: lib/eal/common/eal_trace.h
|
2020-04-22 19:03:49 +00:00
|
|
|
F: doc/guides/prog_guide/trace_lib.rst
|
2020-04-22 19:03:43 +00:00
|
|
|
F: app/test/test_trace*
|
2020-04-22 19:03:19 +00:00
|
|
|
|
2015-07-15 16:32:20 +00:00
|
|
|
Memory Allocation
|
2017-12-18 14:02:06 +00:00
|
|
|
M: Anatoly Burakov <anatoly.burakov@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/include/rte_fbarray.h
|
|
|
|
F: lib/eal/include/rte_mem*
|
|
|
|
F: lib/eal/include/rte_malloc.h
|
|
|
|
F: lib/eal/common/*malloc*
|
|
|
|
F: lib/eal/common/eal_common_dynmem.c
|
|
|
|
F: lib/eal/common/eal_common_fbarray.c
|
|
|
|
F: lib/eal/common/eal_common_mem*
|
|
|
|
F: lib/eal/common/eal_hugepages.h
|
|
|
|
F: lib/eal/linux/eal_mem*
|
|
|
|
F: lib/eal/freebsd/eal_mem*
|
2015-07-16 07:37:11 +00:00
|
|
|
F: doc/guides/prog_guide/env_abstraction_layer.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_external_mem.c
|
|
|
|
F: app/test/test_func_reentrancy.c
|
|
|
|
F: app/test/test_fbarray.c
|
|
|
|
F: app/test/test_malloc.c
|
2022-02-03 18:13:32 +00:00
|
|
|
F: app/test/test_malloc_perf.c
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_memory.c
|
|
|
|
F: app/test/test_memzone.c
|
2015-07-15 16:32:20 +00:00
|
|
|
|
2020-06-17 12:28:07 +00:00
|
|
|
Interrupt Subsystem
|
|
|
|
M: Harman Kalra <hkalra@marvell.com>
|
2021-10-22 20:49:29 +00:00
|
|
|
F: lib/eal/include/rte_epoll.h
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/*/*interrupts.*
|
2020-06-17 12:28:07 +00:00
|
|
|
F: app/test/test_interrupts.c
|
|
|
|
|
2015-11-18 14:05:14 +00:00
|
|
|
Keep alive
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/include/rte_keepalive.h
|
|
|
|
F: lib/eal/common/rte_keepalive.c
|
2015-11-18 14:05:16 +00:00
|
|
|
F: examples/l2fwd-keepalive/
|
|
|
|
F: doc/guides/sample_app_ug/keep_alive.rst
|
2015-11-18 14:05:14 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Secondary process
|
2017-12-18 14:02:06 +00:00
|
|
|
M: Anatoly Burakov <anatoly.burakov@intel.com>
|
2015-01-23 12:31:59 +00:00
|
|
|
K: RTE_PROC_
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/common/eal_common_proc.c
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/multi_proc_support.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_mp_secondary.c
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/multi_process/
|
|
|
|
F: doc/guides/sample_app_ug/multi_process.rst
|
|
|
|
|
2018-04-05 13:15:46 +00:00
|
|
|
Service Cores
|
2017-07-11 14:19:27 +00:00
|
|
|
M: Harry van Haaren <harry.van.haaren@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/include/rte_service.h
|
|
|
|
F: lib/eal/include/rte_service_component.h
|
|
|
|
F: lib/eal/common/rte_service.c
|
2017-07-11 14:19:27 +00:00
|
|
|
F: doc/guides/prog_guide/service_cores.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_service_cores.c
|
2022-11-07 17:20:04 +00:00
|
|
|
F: examples/service_cores/
|
|
|
|
F: doc/guides/sample_app_ug/service_cores.rst
|
2017-07-11 14:19:27 +00:00
|
|
|
|
2020-04-27 07:58:51 +00:00
|
|
|
Bitops
|
|
|
|
M: Joyce Kong <joyce.kong@arm.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/include/rte_bitops.h
|
2020-04-27 07:58:52 +00:00
|
|
|
F: app/test/test_bitops.c
|
2020-04-27 07:58:51 +00:00
|
|
|
|
2017-09-21 11:50:20 +00:00
|
|
|
Bitmap
|
|
|
|
M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/include/rte_bitmap.h
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_bitmap.c
|
2017-09-21 11:50:20 +00:00
|
|
|
|
2020-09-11 05:45:32 +00:00
|
|
|
MCSlock
|
2020-10-08 23:13:59 +00:00
|
|
|
M: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
|
2022-06-08 11:57:01 +00:00
|
|
|
F: lib/eal/include/rte_mcslock.h
|
2019-07-05 10:27:08 +00:00
|
|
|
F: app/test/test_mcslock.c
|
2019-07-05 10:27:06 +00:00
|
|
|
|
eal: add seqlock
A sequence lock (seqlock) is a synchronization primitive which allows
for data-race free, low-overhead, high-frequency reads, suitable for
data structures shared across many cores and which are updated
relatively infrequently.
A seqlock permits multiple parallel readers. A spinlock is used to
serialize writers. In cases where there is only a single writer, or
writer-writer synchronization is done by some external means, the
"raw" sequence counter type (and accompanying rte_seqcount_*()
functions) may be used instead.
To avoid resource reclamation and other issues, the data protected by
a seqlock is best off being self-contained (i.e., no pointers [except
to constant data]).
One way to think about seqlocks is that they provide means to perform
atomic operations on data objects larger than what the native atomic
machine instructions allow for.
DPDK seqlocks (and the underlying sequence counters) are not
preemption safe on the writer side. A thread preemption affects
performance, not correctness.
A seqlock contains a sequence number, which can be thought of as the
generation of the data it protects.
A reader will
1. Load the sequence number (sn).
2. Load, in arbitrary order, the seqlock-protected data.
3. Load the sn again.
4. Check if the first and second sn are equal, and even numbered.
If they are not, discard the loaded data, and restart from 1.
The first three steps need to be ordered using suitable memory fences.
A writer will
1. Take the spinlock, to serialize writer access.
2. Load the sn.
3. Store the original sn + 1 as the new sn.
4. Perform load and stores to the seqlock-protected data.
5. Store the original sn + 2 as the new sn.
6. Release the spinlock.
Proper memory fencing is required to make sure the first sn store, the
data stores, and the second sn store appear to the reader in the
mentioned order.
The sn loads and stores must be atomic, but the data loads and stores
need not be.
The original seqlock design and implementation was done by Stephen
Hemminger. This is an independent implementation, using C11 atomics.
For more information on seqlocks, see
https://en.wikipedia.org/wiki/Seqlock
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Reviewed-by: Ola Liljedahl <ola.liljedahl@arm.com>
Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
2022-05-23 14:23:46 +00:00
|
|
|
Sequence Lock
|
|
|
|
M: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
|
|
|
|
F: lib/eal/include/rte_seqcount.h
|
|
|
|
F: lib/eal/include/rte_seqlock.h
|
|
|
|
F: app/test/test_seqlock.c
|
|
|
|
|
2019-03-25 11:11:07 +00:00
|
|
|
Ticketlock
|
|
|
|
M: Joyce Kong <joyce.kong@arm.com>
|
2022-06-08 11:57:01 +00:00
|
|
|
F: lib/eal/include/rte_ticketlock.h
|
2019-03-25 11:11:09 +00:00
|
|
|
F: app/test/test_ticketlock.c
|
2019-03-25 11:11:07 +00:00
|
|
|
|
2019-06-28 09:01:20 +00:00
|
|
|
Pseudo-random Number Generation
|
|
|
|
M: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/include/rte_random.h
|
|
|
|
F: lib/eal/common/rte_random.c
|
2019-06-28 09:01:20 +00:00
|
|
|
F: app/test/test_rand_perf.c
|
|
|
|
|
2015-11-02 23:47:27 +00:00
|
|
|
ARM v7
|
2020-04-27 07:57:56 +00:00
|
|
|
M: Ruifeng Wang <ruifeng.wang@arm.com>
|
2020-10-24 16:36:19 +00:00
|
|
|
F: config/arm/
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/arm/
|
|
|
|
X: lib/eal/arm/include/*_64.h
|
2015-11-02 23:47:27 +00:00
|
|
|
|
2015-11-06 09:40:28 +00:00
|
|
|
ARM v8
|
2020-04-27 07:57:56 +00:00
|
|
|
M: Ruifeng Wang <ruifeng.wang@arm.com>
|
2020-10-24 16:36:19 +00:00
|
|
|
F: config/arm/
|
|
|
|
F: doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/arm/
|
|
|
|
X: lib/eal/arm/include/*_32.h
|
2020-10-24 16:36:19 +00:00
|
|
|
F: lib/*/*_arm64.*
|
|
|
|
F: lib/*/*_neon.*
|
|
|
|
F: drivers/*/*/*_neon.*
|
|
|
|
F: app/*/*_neon.*
|
|
|
|
F: examples/*/*_neon.*
|
2022-06-23 09:38:15 +00:00
|
|
|
F: examples/common/neon/
|
2015-11-06 09:40:28 +00:00
|
|
|
|
2022-10-04 15:40:42 +00:00
|
|
|
LoongArch
|
|
|
|
M: Min Zhou <zhoumin@loongson.cn>
|
|
|
|
F: config/loongarch/
|
|
|
|
F: doc/guides/linux_gsg/cross_build_dpdk_for_loongarch.rst
|
|
|
|
F: lib/eal/loongarch/
|
|
|
|
|
2018-11-16 17:35:38 +00:00
|
|
|
IBM POWER (alpha)
|
2019-03-27 22:31:39 +00:00
|
|
|
M: David Christensen <drc@linux.vnet.ibm.com>
|
2020-10-24 16:36:19 +00:00
|
|
|
F: config/ppc/
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/ppc/
|
2020-10-24 16:36:19 +00:00
|
|
|
F: lib/*/*_altivec*
|
|
|
|
F: drivers/*/*/*_altivec.*
|
|
|
|
F: app/*/*_altivec.*
|
|
|
|
F: examples/*/*_altivec.*
|
2022-06-23 09:38:15 +00:00
|
|
|
F: examples/common/altivec/
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2022-06-07 10:46:10 +00:00
|
|
|
RISC-V
|
|
|
|
M: Stanislaw Kardach <kda@semihalf.com>
|
|
|
|
F: config/riscv/
|
|
|
|
F: doc/guides/linux_gsg/cross_build_dpdk_for_riscv.rst
|
|
|
|
F: lib/eal/riscv/
|
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Intel x86
|
2015-03-11 11:14:30 +00:00
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
2022-04-21 15:20:59 +00:00
|
|
|
M: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>
|
2020-10-24 16:36:19 +00:00
|
|
|
F: config/x86/
|
|
|
|
F: doc/guides/linux_gsg/nic_perf_intel_platform.rst
|
2021-11-12 21:48:25 +00:00
|
|
|
F: buildtools/binutils-avx512-check.py
|
2020-10-24 16:36:19 +00:00
|
|
|
F: doc/guides/howto/avx512.rst
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/x86/
|
2020-10-24 16:36:19 +00:00
|
|
|
F: lib/*/*_sse*
|
|
|
|
F: lib/*/*_avx*
|
|
|
|
F: drivers/*/*/*_sse*
|
|
|
|
F: drivers/*/*/*_avx*
|
|
|
|
F: app/*/*_sse*
|
|
|
|
F: app/*/*_avx*
|
|
|
|
F: examples/*/*_sse*
|
|
|
|
F: examples/*/*_avx*
|
2022-06-23 09:38:15 +00:00
|
|
|
F: examples/common/sse/
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Linux EAL (with overlaps)
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/linux/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/linux_gsg/
|
|
|
|
|
|
|
|
Linux UIO
|
2017-10-26 10:06:08 +00:00
|
|
|
F: drivers/bus/pci/linux/*uio*
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Linux VFIO
|
2015-02-24 11:19:18 +00:00
|
|
|
M: Anatoly Burakov <anatoly.burakov@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/linux/*vfio*
|
2017-10-26 10:06:08 +00:00
|
|
|
F: drivers/bus/pci/linux/*vfio*
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
FreeBSD EAL (with overlaps)
|
2015-02-06 13:55:35 +00:00
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/freebsd/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/freebsd_gsg/
|
|
|
|
|
|
|
|
FreeBSD contigmem
|
2015-02-06 13:55:35 +00:00
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
2018-02-22 06:09:05 +00:00
|
|
|
F: kernel/freebsd/contigmem/
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
FreeBSD UIO
|
2015-02-06 13:55:35 +00:00
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
2018-02-22 06:09:05 +00:00
|
|
|
F: kernel/freebsd/nic_uio/
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2019-04-02 03:54:49 +00:00
|
|
|
Windows support
|
2020-08-05 07:10:52 +00:00
|
|
|
M: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
|
|
|
|
M: Narcisa Ana Maria Vasile <navasile@linux.microsoft.com>
|
|
|
|
M: Dmitry Malloy <dmitrym@microsoft.com>
|
2020-01-13 19:35:34 +00:00
|
|
|
M: Pallavi Kadam <pallavi.kadam@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/windows/
|
2020-06-29 12:37:41 +00:00
|
|
|
F: buildtools/map_to_win.py
|
2019-04-02 03:54:57 +00:00
|
|
|
F: doc/guides/windows_gsg/
|
2019-04-02 03:54:49 +00:00
|
|
|
|
2020-06-15 00:43:53 +00:00
|
|
|
Windows memory allocation
|
|
|
|
M: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eal/windows/eal_hugepages.c
|
|
|
|
F: lib/eal/windows/eal_mem*
|
2020-06-15 00:43:53 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Core Libraries
|
|
|
|
--------------
|
2020-01-20 20:35:13 +00:00
|
|
|
T: git://dpdk.org/dpdk
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2015-01-30 15:52:22 +00:00
|
|
|
Memory pool
|
|
|
|
M: Olivier Matz <olivier.matz@6wind.com>
|
2020-09-24 13:40:22 +00:00
|
|
|
M: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/mempool/
|
2017-03-31 05:35:36 +00:00
|
|
|
F: drivers/mempool/ring/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/mempool_lib.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_mempool*
|
|
|
|
F: app/test/test_func_reentrancy.c
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Ring queue
|
2020-03-05 17:00:08 +00:00
|
|
|
M: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
|
2022-04-21 15:20:59 +00:00
|
|
|
M: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/ring/
|
2015-02-04 08:08:45 +00:00
|
|
|
F: doc/guides/prog_guide/ring_lib.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_ring*
|
|
|
|
F: app/test/test_func_reentrancy.c
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2020-09-30 21:39:54 +00:00
|
|
|
Stack
|
2019-04-03 23:20:13 +00:00
|
|
|
M: Olivier Matz <olivier.matz@6wind.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/stack/
|
2019-04-03 23:20:14 +00:00
|
|
|
F: drivers/mempool/stack/
|
2019-04-03 23:20:15 +00:00
|
|
|
F: app/test/test_stack*
|
2019-04-03 23:20:13 +00:00
|
|
|
F: doc/guides/prog_guide/stack_lib.rst
|
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Packet buffer
|
2015-01-30 15:52:22 +00:00
|
|
|
M: Olivier Matz <olivier.matz@6wind.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/mbuf/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/mbuf_lib.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_mbuf.c
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Ethernet API
|
2017-04-18 21:36:51 +00:00
|
|
|
M: Thomas Monjalon <thomas@monjalon.net>
|
2022-09-21 13:41:01 +00:00
|
|
|
M: Ferruh Yigit <ferruh.yigit@amd.com>
|
2020-09-24 13:40:22 +00:00
|
|
|
M: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
|
2017-11-06 11:36:51 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/ethdev/
|
2020-09-15 19:06:57 +00:00
|
|
|
F: app/test/test_ethdev*
|
2017-02-21 10:18:38 +00:00
|
|
|
F: devtools/test-null.sh
|
2019-04-01 11:05:14 +00:00
|
|
|
F: doc/guides/prog_guide/switch_representation.rst
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2016-12-21 14:51:17 +00:00
|
|
|
Flow API
|
2020-08-12 16:08:35 +00:00
|
|
|
M: Ori Kam <orika@nvidia.com>
|
2017-11-06 11:36:51 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net
|
2018-05-15 16:23:03 +00:00
|
|
|
F: app/test-pmd/cmdline_flow.c
|
|
|
|
F: doc/guides/prog_guide/rte_flow.rst
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/ethdev/rte_flow*
|
2016-12-21 14:51:17 +00:00
|
|
|
|
ethdev: add traffic management API
This patch introduces the generic ethdev API for the traffic manager
capability, which includes: hierarchical scheduling, traffic shaping,
congestion management, packet marking.
Main features:
- Exposed as ethdev plugin capability (similar to rte_flow)
- Capability query API per port, per level and per node
- Scheduling algorithms: Strict Priority (SP), Weighed Fair Queuing (WFQ)
- Traffic shaping: single/dual rate, private (per node) and shared (by
multiple nodes) shapers
- Congestion management for hierarchy leaf nodes: algorithms of tail drop,
head drop, WRED; private (per node) and shared (by multiple nodes) WRED
contexts
- Packet marking: IEEE 802.1q (VLAN DEI), IETF RFC 3168 (IPv4/IPv6 ECN for
TCP and SCTP), IETF RFC 2597 (IPv4 / IPv6 DSCP)
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Balasubramanian Manoharan <balasubramanian.manoharan@caviumnetworks.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-06-12 13:35:39 +00:00
|
|
|
Traffic Management API - EXPERIMENTAL
|
|
|
|
M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
|
2020-08-12 07:49:00 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/ethdev/rte_tm*
|
2022-02-10 14:51:29 +00:00
|
|
|
F: app/test-pmd/cmdline_tm.*
|
ethdev: add traffic management API
This patch introduces the generic ethdev API for the traffic manager
capability, which includes: hierarchical scheduling, traffic shaping,
congestion management, packet marking.
Main features:
- Exposed as ethdev plugin capability (similar to rte_flow)
- Capability query API per port, per level and per node
- Scheduling algorithms: Strict Priority (SP), Weighed Fair Queuing (WFQ)
- Traffic shaping: single/dual rate, private (per node) and shared (by
multiple nodes) shapers
- Congestion management for hierarchy leaf nodes: algorithms of tail drop,
head drop, WRED; private (per node) and shared (by multiple nodes) WRED
contexts
- Packet marking: IEEE 802.1q (VLAN DEI), IETF RFC 3168 (IPv4/IPv6 ECN for
TCP and SCTP), IETF RFC 2597 (IPv4 / IPv6 DSCP)
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Balasubramanian Manoharan <balasubramanian.manoharan@caviumnetworks.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-06-12 13:35:39 +00:00
|
|
|
|
2017-10-13 12:22:16 +00:00
|
|
|
Traffic Metering and Policing API - EXPERIMENTAL
|
|
|
|
M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
|
2020-08-12 07:49:00 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/ethdev/rte_mtr*
|
2022-02-10 14:51:29 +00:00
|
|
|
F: app/test-pmd/cmdline_mtr.*
|
2017-10-13 12:22:16 +00:00
|
|
|
|
2021-08-31 16:25:30 +00:00
|
|
|
Baseband API
|
2019-06-17 18:21:28 +00:00
|
|
|
M: Nicolas Chautru <nicolas.chautru@intel.com>
|
2018-04-13 08:14:39 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-crypto
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/bbdev/
|
2018-01-11 19:23:18 +00:00
|
|
|
F: doc/guides/prog_guide/bbdev.rst
|
2022-03-21 18:19:50 +00:00
|
|
|
F: doc/guides/bbdevs/features/default.ini
|
2018-01-11 19:23:21 +00:00
|
|
|
F: app/test-bbdev/
|
|
|
|
F: doc/guides/tools/testbbdev.rst
|
2018-01-11 19:23:22 +00:00
|
|
|
F: examples/bbdev_app/
|
|
|
|
F: doc/guides/sample_app_ug/bbdev_app.rst
|
2018-01-11 19:23:18 +00:00
|
|
|
|
2016-04-06 11:05:08 +00:00
|
|
|
Crypto API
|
2021-07-22 08:37:39 +00:00
|
|
|
M: Akhil Goyal <gakhil@marvell.com>
|
2022-11-08 16:15:05 +00:00
|
|
|
M: Fan Zhang <fanzhang.oss@gmail.com>
|
2017-11-06 11:36:51 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-crypto
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/cryptodev/
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_cryptodev*
|
2015-11-25 13:25:17 +00:00
|
|
|
F: examples/l2fwd-crypto/
|
2015-11-25 13:25:12 +00:00
|
|
|
|
2018-11-13 11:28:21 +00:00
|
|
|
Security API
|
2021-02-23 08:42:49 +00:00
|
|
|
M: Akhil Goyal <gakhil@marvell.com>
|
2018-04-13 08:14:39 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-crypto
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/security/
|
2017-10-25 15:07:24 +00:00
|
|
|
F: doc/guides/prog_guide/rte_security.rst
|
2022-05-24 07:22:10 +00:00
|
|
|
F: app/test/test_security*
|
2017-10-25 15:07:23 +00:00
|
|
|
|
2018-04-27 13:23:54 +00:00
|
|
|
Compression API - EXPERIMENTAL
|
2022-11-08 16:15:05 +00:00
|
|
|
M: Fan Zhang <fanzhang.oss@gmail.com>
|
2018-12-16 15:43:25 +00:00
|
|
|
M: Ashish Gupta <ashish.gupta@marvell.com>
|
2018-04-27 13:23:54 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-crypto
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/compressdev/
|
2018-05-09 16:14:26 +00:00
|
|
|
F: drivers/compress/
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_compressdev*
|
2018-04-27 13:24:07 +00:00
|
|
|
F: doc/guides/prog_guide/compressdev.rst
|
2018-05-09 16:14:35 +00:00
|
|
|
F: doc/guides/compressdevs/features/default.ini
|
2018-04-27 13:23:54 +00:00
|
|
|
|
regexdev: introduce API
As RegEx usage become more used by DPDK applications, for example:
* Next Generation Firewalls (NGFW)
* Deep Packet and Flow Inspection (DPI)
* Intrusion Prevention Systems (IPS)
* DDoS Mitigation
* Network Monitoring
* Data Loss Prevention (DLP)
* Smart NICs
* Grammar based content processing
* URL, spam and adware filtering
* Advanced auditing and policing of user/application security policies
* Financial data mining - parsing of streamed financial feeds
* Application recognition.
* Dmemory introspection.
* Natural Language Processing (NLP)
* Sentiment Analysis.
* Big data database acceleration.
* Computational storage.
Number of PMD providers started to work on HW implementation,
along side with SW implementations.
This lib adds the support for those kind of devices.
The RegEx Device API is composed of two parts:
- The application-oriented RegEx API that includes functions to setup
a RegEx device (configure it, setup its queue pairs and start it),
update the rule database and so on.
- The driver-oriented RegEx API that exports a function allowing
a RegEx poll Mode Driver (PMD) to simultaneously register itself as
a RegEx device driver.
RegEx device components and definitions:
+-----------------+
| |
| o---------+ rte_regexdev_[en|de]queue_burst()
| PCRE based o------+ | |
| RegEx pattern | | | +--------+ |
| matching engine o------+--+--o | | +------+
| | | | | queue |<==o===>|Core 0|
| o----+ | | | pair 0 | | |
| | | | | +--------+ +------+
+-----------------+ | | |
^ | | | +--------+
| | | | | | +------+
| | +--+--o queue |<======>|Core 1|
Rule|Database | | | pair 1 | | |
+------+----------+ | | +--------+ +------+
| Group 0 | | |
| +-------------+ | | | +--------+ +------+
| | Rules 0..n | | | | | | |Core 2|
| +-------------+ | | +--o queue |<======>| |
| Group 1 | | | pair 2 | +------+
| +-------------+ | | +--------+
| | Rules 0..n | | |
| +-------------+ | | +--------+
| Group 2 | | | | +------+
| +-------------+ | | | queue |<======>|Core n|
| | Rules 0..n | | +-------o pair n | | |
| +-------------+ | +--------+ +------+
| Group n |
| +-------------+ |<-------rte_regexdev_rule_db_update()
| | | |<-------rte_regexdev_rule_db_compile_activate()
| | Rules 0..n | |<-------rte_regexdev_rule_db_import()
| +-------------+ |------->rte_regexdev_rule_db_export()
+-----------------+
RegEx: A regular expression is a concise and flexible means for matching
strings of text, such as particular characters, words, or patterns of
characters. A common abbreviation for this is â~@~\RegExâ~@~].
RegEx device: A hardware or software-based implementation of RegEx
device API for PCRE based pattern matching syntax and semantics.
PCRE RegEx syntax and semantics specification:
http://regexkit.sourceforge.net/Documentation/pcre/pcrepattern.html
RegEx queue pair: Each RegEx device should have one or more queue pair to
transmit a burst of pattern matching request and receive a burst of
receive the pattern matching response. The pattern matching
request/response embedded in *rte_regex_ops* structure.
Rule: A pattern matching rule expressed in PCRE RegEx syntax along with
Match ID and Group ID to identify the rule upon the match.
Rule database: The RegEx device accepts regular expressions and converts
them into a compiled rule database that can then be used to scan data.
Compilation allows the device to analyze the given pattern(s) and
pre-determine how to scan for these patterns in an optimized fashion that
would be far too expensive to compute at run-time. A rule database
contains a set of rules that compiled in device specific binary form.
Match ID or Rule ID: A unique identifier provided at the time of rule
creation for the application to identify the rule upon match.
Group ID: Group of rules can be grouped under one group ID to enable
rule isolation and effective pattern matching. A unique group identifier
provided at the time of rule creation for the application to identify
the rule upon match.
Scan: A pattern matching request through *enqueue* API.
It may possible that a given RegEx device may not support all the
features
of PCRE. The application may probe unsupported features through
struct rte_regexdev_info::pcre_unsup_flags
By default, all the functions of the RegEx Device API exported by a PMD
are lock-free functions which assume to not be invoked in parallel on
different logical cores to work on the same target object. For instance,
the dequeue function of a PMD cannot be invoked in parallel on two logical
cores to operates on same RegEx queue pair. Of course, this function
can be invoked in parallel by different logical core on different queue
pair. It is the responsibility of the upper level application to
enforce this rule.
In all functions of the RegEx API, the RegEx device is
designated by an integer >= 0 named the device identifier *dev_id*
At the RegEx driver level, RegEx devices are represented by a generic
data structure of type *rte_regexdev*.
RegEx devices are dynamically registered during the PCI/SoC device
probing phase performed at EAL initialization time.
When a RegEx device is being probed, a *rte_regexdev* structure and
a new device identifier are allocated for that device. Then, the
regexdev_init() function supplied by the RegEx driver matching the
probed device is invoked to properly initialize the device.
The role of the device init function consists of resetting the hardware
or software RegEx driver implementations.
If the device init operation is successful, the correspondence between
the device identifier assigned to the new device and its associated
*rte_regexdev* structure is effectively registered.
Otherwise, both the *rte_regexdev* structure and the device identifier
are freed.
The functions exported by the application RegEx API to setup a device
designated by its device identifier must be invoked in the following
order:
- rte_regexdev_configure()
- rte_regexdev_queue_pair_setup()
- rte_regexdev_start()
Then, the application can invoke, in any order, the functions
exported by the RegEx API to enqueue pattern matching job, dequeue
pattern matching response, get the stats, update the rule database,
get/set device attributes and so on
If the application wants to change the configuration (i.e. call
rte_regexdev_configure() or rte_regexdev_queue_pair_setup()), it must
call rte_regexdev_stop() first to stop the device and then do the
reconfiguration before calling rte_regexdev_start() again. The enqueue and
dequeue functions should not be invoked when the device is stopped.
Finally, an application can close a RegEx device by invoking the
rte_regexdev_close() function.
Each function of the application RegEx API invokes a specific function
of the PMD that controls the target device designated by its device
identifier.
For this purpose, all device-specific functions of a RegEx driver are
supplied through a set of pointers contained in a generic structure of
type *regexdev_ops*.
The address of the *regexdev_ops* structure is stored in the
*rte_regexdev* structure by the device init function of the RegEx driver,
which is invoked during the PCI/SoC device probing phase, as explained
earlier.
In other words, each function of the RegEx API simply retrieves the
*rte_regexdev* structure associated with the device identifier and
performs an indirect invocation of the corresponding driver function
supplied in the *regexdev_ops* structure of the *rte_regexdev*
structure.
For performance reasons, the address of the fast-path functions of the
RegEx driver is not contained in the *regexdev_ops* structure.
Instead, they are directly stored at the beginning of the *rte_regexdev*
structure to avoid an extra indirect memory access during their
invocation.
RTE RegEx device drivers do not use interrupts for enqueue or dequeue
operation. Instead, RegEx drivers export Poll-Mode enqueue and dequeue
functions to applications.
The *enqueue* operation submits a burst of RegEx pattern matching
request to the RegEx device and the *dequeue* operation gets a burst of
pattern matching response for the ones submitted through *enqueue*
operation.
Typical application utilisation of the RegEx device API will follow the
following programming flow.
- rte_regexdev_configure()
- rte_regexdev_queue_pair_setup()
- rte_regexdev_rule_db_update() Needs to invoke if precompiled rule
database not
provided in rte_regexdev_config::rule_db for rte_regexdev_configure()
and/or application needs to update rule database.
- rte_regexdev_rule_db_compile_activate() Needs to invoke if
rte_regexdev_rule_db_update function was used.
- Create or reuse exiting mempool for *rte_regex_ops* objects.
- rte_regexdev_start()
- rte_regexdev_enqueue_burst()
- rte_regexdev_dequeue_burst()
Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Signed-off-by: Ori Kam <orika@mellanox.com>
2020-07-06 17:36:46 +00:00
|
|
|
RegEx API - EXPERIMENTAL
|
2020-08-12 16:08:35 +00:00
|
|
|
M: Ori Kam <orika@nvidia.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/regexdev/
|
2020-07-29 18:09:57 +00:00
|
|
|
F: app/test-regex/
|
regexdev: introduce API
As RegEx usage become more used by DPDK applications, for example:
* Next Generation Firewalls (NGFW)
* Deep Packet and Flow Inspection (DPI)
* Intrusion Prevention Systems (IPS)
* DDoS Mitigation
* Network Monitoring
* Data Loss Prevention (DLP)
* Smart NICs
* Grammar based content processing
* URL, spam and adware filtering
* Advanced auditing and policing of user/application security policies
* Financial data mining - parsing of streamed financial feeds
* Application recognition.
* Dmemory introspection.
* Natural Language Processing (NLP)
* Sentiment Analysis.
* Big data database acceleration.
* Computational storage.
Number of PMD providers started to work on HW implementation,
along side with SW implementations.
This lib adds the support for those kind of devices.
The RegEx Device API is composed of two parts:
- The application-oriented RegEx API that includes functions to setup
a RegEx device (configure it, setup its queue pairs and start it),
update the rule database and so on.
- The driver-oriented RegEx API that exports a function allowing
a RegEx poll Mode Driver (PMD) to simultaneously register itself as
a RegEx device driver.
RegEx device components and definitions:
+-----------------+
| |
| o---------+ rte_regexdev_[en|de]queue_burst()
| PCRE based o------+ | |
| RegEx pattern | | | +--------+ |
| matching engine o------+--+--o | | +------+
| | | | | queue |<==o===>|Core 0|
| o----+ | | | pair 0 | | |
| | | | | +--------+ +------+
+-----------------+ | | |
^ | | | +--------+
| | | | | | +------+
| | +--+--o queue |<======>|Core 1|
Rule|Database | | | pair 1 | | |
+------+----------+ | | +--------+ +------+
| Group 0 | | |
| +-------------+ | | | +--------+ +------+
| | Rules 0..n | | | | | | |Core 2|
| +-------------+ | | +--o queue |<======>| |
| Group 1 | | | pair 2 | +------+
| +-------------+ | | +--------+
| | Rules 0..n | | |
| +-------------+ | | +--------+
| Group 2 | | | | +------+
| +-------------+ | | | queue |<======>|Core n|
| | Rules 0..n | | +-------o pair n | | |
| +-------------+ | +--------+ +------+
| Group n |
| +-------------+ |<-------rte_regexdev_rule_db_update()
| | | |<-------rte_regexdev_rule_db_compile_activate()
| | Rules 0..n | |<-------rte_regexdev_rule_db_import()
| +-------------+ |------->rte_regexdev_rule_db_export()
+-----------------+
RegEx: A regular expression is a concise and flexible means for matching
strings of text, such as particular characters, words, or patterns of
characters. A common abbreviation for this is â~@~\RegExâ~@~].
RegEx device: A hardware or software-based implementation of RegEx
device API for PCRE based pattern matching syntax and semantics.
PCRE RegEx syntax and semantics specification:
http://regexkit.sourceforge.net/Documentation/pcre/pcrepattern.html
RegEx queue pair: Each RegEx device should have one or more queue pair to
transmit a burst of pattern matching request and receive a burst of
receive the pattern matching response. The pattern matching
request/response embedded in *rte_regex_ops* structure.
Rule: A pattern matching rule expressed in PCRE RegEx syntax along with
Match ID and Group ID to identify the rule upon the match.
Rule database: The RegEx device accepts regular expressions and converts
them into a compiled rule database that can then be used to scan data.
Compilation allows the device to analyze the given pattern(s) and
pre-determine how to scan for these patterns in an optimized fashion that
would be far too expensive to compute at run-time. A rule database
contains a set of rules that compiled in device specific binary form.
Match ID or Rule ID: A unique identifier provided at the time of rule
creation for the application to identify the rule upon match.
Group ID: Group of rules can be grouped under one group ID to enable
rule isolation and effective pattern matching. A unique group identifier
provided at the time of rule creation for the application to identify
the rule upon match.
Scan: A pattern matching request through *enqueue* API.
It may possible that a given RegEx device may not support all the
features
of PCRE. The application may probe unsupported features through
struct rte_regexdev_info::pcre_unsup_flags
By default, all the functions of the RegEx Device API exported by a PMD
are lock-free functions which assume to not be invoked in parallel on
different logical cores to work on the same target object. For instance,
the dequeue function of a PMD cannot be invoked in parallel on two logical
cores to operates on same RegEx queue pair. Of course, this function
can be invoked in parallel by different logical core on different queue
pair. It is the responsibility of the upper level application to
enforce this rule.
In all functions of the RegEx API, the RegEx device is
designated by an integer >= 0 named the device identifier *dev_id*
At the RegEx driver level, RegEx devices are represented by a generic
data structure of type *rte_regexdev*.
RegEx devices are dynamically registered during the PCI/SoC device
probing phase performed at EAL initialization time.
When a RegEx device is being probed, a *rte_regexdev* structure and
a new device identifier are allocated for that device. Then, the
regexdev_init() function supplied by the RegEx driver matching the
probed device is invoked to properly initialize the device.
The role of the device init function consists of resetting the hardware
or software RegEx driver implementations.
If the device init operation is successful, the correspondence between
the device identifier assigned to the new device and its associated
*rte_regexdev* structure is effectively registered.
Otherwise, both the *rte_regexdev* structure and the device identifier
are freed.
The functions exported by the application RegEx API to setup a device
designated by its device identifier must be invoked in the following
order:
- rte_regexdev_configure()
- rte_regexdev_queue_pair_setup()
- rte_regexdev_start()
Then, the application can invoke, in any order, the functions
exported by the RegEx API to enqueue pattern matching job, dequeue
pattern matching response, get the stats, update the rule database,
get/set device attributes and so on
If the application wants to change the configuration (i.e. call
rte_regexdev_configure() or rte_regexdev_queue_pair_setup()), it must
call rte_regexdev_stop() first to stop the device and then do the
reconfiguration before calling rte_regexdev_start() again. The enqueue and
dequeue functions should not be invoked when the device is stopped.
Finally, an application can close a RegEx device by invoking the
rte_regexdev_close() function.
Each function of the application RegEx API invokes a specific function
of the PMD that controls the target device designated by its device
identifier.
For this purpose, all device-specific functions of a RegEx driver are
supplied through a set of pointers contained in a generic structure of
type *regexdev_ops*.
The address of the *regexdev_ops* structure is stored in the
*rte_regexdev* structure by the device init function of the RegEx driver,
which is invoked during the PCI/SoC device probing phase, as explained
earlier.
In other words, each function of the RegEx API simply retrieves the
*rte_regexdev* structure associated with the device identifier and
performs an indirect invocation of the corresponding driver function
supplied in the *regexdev_ops* structure of the *rte_regexdev*
structure.
For performance reasons, the address of the fast-path functions of the
RegEx driver is not contained in the *regexdev_ops* structure.
Instead, they are directly stored at the beginning of the *rte_regexdev*
structure to avoid an extra indirect memory access during their
invocation.
RTE RegEx device drivers do not use interrupts for enqueue or dequeue
operation. Instead, RegEx drivers export Poll-Mode enqueue and dequeue
functions to applications.
The *enqueue* operation submits a burst of RegEx pattern matching
request to the RegEx device and the *dequeue* operation gets a burst of
pattern matching response for the ones submitted through *enqueue*
operation.
Typical application utilisation of the RegEx device API will follow the
following programming flow.
- rte_regexdev_configure()
- rte_regexdev_queue_pair_setup()
- rte_regexdev_rule_db_update() Needs to invoke if precompiled rule
database not
provided in rte_regexdev_config::rule_db for rte_regexdev_configure()
and/or application needs to update rule database.
- rte_regexdev_rule_db_compile_activate() Needs to invoke if
rte_regexdev_rule_db_update function was used.
- Create or reuse exiting mempool for *rte_regex_ops* objects.
- rte_regexdev_start()
- rte_regexdev_enqueue_burst()
- rte_regexdev_dequeue_burst()
Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Signed-off-by: Ori Kam <orika@mellanox.com>
2020-07-06 17:36:46 +00:00
|
|
|
F: doc/guides/prog_guide/regexdev.rst
|
2020-07-20 06:26:05 +00:00
|
|
|
F: doc/guides/regexdevs/features/default.ini
|
regexdev: introduce API
As RegEx usage become more used by DPDK applications, for example:
* Next Generation Firewalls (NGFW)
* Deep Packet and Flow Inspection (DPI)
* Intrusion Prevention Systems (IPS)
* DDoS Mitigation
* Network Monitoring
* Data Loss Prevention (DLP)
* Smart NICs
* Grammar based content processing
* URL, spam and adware filtering
* Advanced auditing and policing of user/application security policies
* Financial data mining - parsing of streamed financial feeds
* Application recognition.
* Dmemory introspection.
* Natural Language Processing (NLP)
* Sentiment Analysis.
* Big data database acceleration.
* Computational storage.
Number of PMD providers started to work on HW implementation,
along side with SW implementations.
This lib adds the support for those kind of devices.
The RegEx Device API is composed of two parts:
- The application-oriented RegEx API that includes functions to setup
a RegEx device (configure it, setup its queue pairs and start it),
update the rule database and so on.
- The driver-oriented RegEx API that exports a function allowing
a RegEx poll Mode Driver (PMD) to simultaneously register itself as
a RegEx device driver.
RegEx device components and definitions:
+-----------------+
| |
| o---------+ rte_regexdev_[en|de]queue_burst()
| PCRE based o------+ | |
| RegEx pattern | | | +--------+ |
| matching engine o------+--+--o | | +------+
| | | | | queue |<==o===>|Core 0|
| o----+ | | | pair 0 | | |
| | | | | +--------+ +------+
+-----------------+ | | |
^ | | | +--------+
| | | | | | +------+
| | +--+--o queue |<======>|Core 1|
Rule|Database | | | pair 1 | | |
+------+----------+ | | +--------+ +------+
| Group 0 | | |
| +-------------+ | | | +--------+ +------+
| | Rules 0..n | | | | | | |Core 2|
| +-------------+ | | +--o queue |<======>| |
| Group 1 | | | pair 2 | +------+
| +-------------+ | | +--------+
| | Rules 0..n | | |
| +-------------+ | | +--------+
| Group 2 | | | | +------+
| +-------------+ | | | queue |<======>|Core n|
| | Rules 0..n | | +-------o pair n | | |
| +-------------+ | +--------+ +------+
| Group n |
| +-------------+ |<-------rte_regexdev_rule_db_update()
| | | |<-------rte_regexdev_rule_db_compile_activate()
| | Rules 0..n | |<-------rte_regexdev_rule_db_import()
| +-------------+ |------->rte_regexdev_rule_db_export()
+-----------------+
RegEx: A regular expression is a concise and flexible means for matching
strings of text, such as particular characters, words, or patterns of
characters. A common abbreviation for this is â~@~\RegExâ~@~].
RegEx device: A hardware or software-based implementation of RegEx
device API for PCRE based pattern matching syntax and semantics.
PCRE RegEx syntax and semantics specification:
http://regexkit.sourceforge.net/Documentation/pcre/pcrepattern.html
RegEx queue pair: Each RegEx device should have one or more queue pair to
transmit a burst of pattern matching request and receive a burst of
receive the pattern matching response. The pattern matching
request/response embedded in *rte_regex_ops* structure.
Rule: A pattern matching rule expressed in PCRE RegEx syntax along with
Match ID and Group ID to identify the rule upon the match.
Rule database: The RegEx device accepts regular expressions and converts
them into a compiled rule database that can then be used to scan data.
Compilation allows the device to analyze the given pattern(s) and
pre-determine how to scan for these patterns in an optimized fashion that
would be far too expensive to compute at run-time. A rule database
contains a set of rules that compiled in device specific binary form.
Match ID or Rule ID: A unique identifier provided at the time of rule
creation for the application to identify the rule upon match.
Group ID: Group of rules can be grouped under one group ID to enable
rule isolation and effective pattern matching. A unique group identifier
provided at the time of rule creation for the application to identify
the rule upon match.
Scan: A pattern matching request through *enqueue* API.
It may possible that a given RegEx device may not support all the
features
of PCRE. The application may probe unsupported features through
struct rte_regexdev_info::pcre_unsup_flags
By default, all the functions of the RegEx Device API exported by a PMD
are lock-free functions which assume to not be invoked in parallel on
different logical cores to work on the same target object. For instance,
the dequeue function of a PMD cannot be invoked in parallel on two logical
cores to operates on same RegEx queue pair. Of course, this function
can be invoked in parallel by different logical core on different queue
pair. It is the responsibility of the upper level application to
enforce this rule.
In all functions of the RegEx API, the RegEx device is
designated by an integer >= 0 named the device identifier *dev_id*
At the RegEx driver level, RegEx devices are represented by a generic
data structure of type *rte_regexdev*.
RegEx devices are dynamically registered during the PCI/SoC device
probing phase performed at EAL initialization time.
When a RegEx device is being probed, a *rte_regexdev* structure and
a new device identifier are allocated for that device. Then, the
regexdev_init() function supplied by the RegEx driver matching the
probed device is invoked to properly initialize the device.
The role of the device init function consists of resetting the hardware
or software RegEx driver implementations.
If the device init operation is successful, the correspondence between
the device identifier assigned to the new device and its associated
*rte_regexdev* structure is effectively registered.
Otherwise, both the *rte_regexdev* structure and the device identifier
are freed.
The functions exported by the application RegEx API to setup a device
designated by its device identifier must be invoked in the following
order:
- rte_regexdev_configure()
- rte_regexdev_queue_pair_setup()
- rte_regexdev_start()
Then, the application can invoke, in any order, the functions
exported by the RegEx API to enqueue pattern matching job, dequeue
pattern matching response, get the stats, update the rule database,
get/set device attributes and so on
If the application wants to change the configuration (i.e. call
rte_regexdev_configure() or rte_regexdev_queue_pair_setup()), it must
call rte_regexdev_stop() first to stop the device and then do the
reconfiguration before calling rte_regexdev_start() again. The enqueue and
dequeue functions should not be invoked when the device is stopped.
Finally, an application can close a RegEx device by invoking the
rte_regexdev_close() function.
Each function of the application RegEx API invokes a specific function
of the PMD that controls the target device designated by its device
identifier.
For this purpose, all device-specific functions of a RegEx driver are
supplied through a set of pointers contained in a generic structure of
type *regexdev_ops*.
The address of the *regexdev_ops* structure is stored in the
*rte_regexdev* structure by the device init function of the RegEx driver,
which is invoked during the PCI/SoC device probing phase, as explained
earlier.
In other words, each function of the RegEx API simply retrieves the
*rte_regexdev* structure associated with the device identifier and
performs an indirect invocation of the corresponding driver function
supplied in the *regexdev_ops* structure of the *rte_regexdev*
structure.
For performance reasons, the address of the fast-path functions of the
RegEx driver is not contained in the *regexdev_ops* structure.
Instead, they are directly stored at the beginning of the *rte_regexdev*
structure to avoid an extra indirect memory access during their
invocation.
RTE RegEx device drivers do not use interrupts for enqueue or dequeue
operation. Instead, RegEx drivers export Poll-Mode enqueue and dequeue
functions to applications.
The *enqueue* operation submits a burst of RegEx pattern matching
request to the RegEx device and the *dequeue* operation gets a burst of
pattern matching response for the ones submitted through *enqueue*
operation.
Typical application utilisation of the RegEx device API will follow the
following programming flow.
- rte_regexdev_configure()
- rte_regexdev_queue_pair_setup()
- rte_regexdev_rule_db_update() Needs to invoke if precompiled rule
database not
provided in rte_regexdev_config::rule_db for rte_regexdev_configure()
and/or application needs to update rule database.
- rte_regexdev_rule_db_compile_activate() Needs to invoke if
rte_regexdev_rule_db_update function was used.
- Create or reuse exiting mempool for *rte_regex_ops* objects.
- rte_regexdev_start()
- rte_regexdev_enqueue_burst()
- rte_regexdev_dequeue_burst()
Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Signed-off-by: Ori Kam <orika@mellanox.com>
2020-07-06 17:36:46 +00:00
|
|
|
|
2021-10-13 12:24:55 +00:00
|
|
|
DMA device API - EXPERIMENTAL
|
|
|
|
M: Chengwen Feng <fengchengwen@huawei.com>
|
|
|
|
F: lib/dmadev/
|
2021-10-13 12:24:59 +00:00
|
|
|
F: drivers/dma/skeleton/
|
2021-10-13 12:25:00 +00:00
|
|
|
F: app/test/test_dmadev*
|
2021-10-13 12:24:55 +00:00
|
|
|
F: doc/guides/prog_guide/dmadev.rst
|
2021-10-26 13:14:32 +00:00
|
|
|
M: Kevin Laatz <kevin.laatz@intel.com>
|
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
|
|
|
F: examples/dma/
|
|
|
|
F: doc/guides/sample_app_ug/dma.rst
|
2021-10-13 12:24:55 +00:00
|
|
|
|
2021-11-08 18:57:57 +00:00
|
|
|
General-Purpose Graphics Processing Unit (GPU) API - EXPERIMENTAL
|
|
|
|
M: Elena Agostini <eagostini@nvidia.com>
|
|
|
|
F: lib/gpudev/
|
|
|
|
F: doc/guides/prog_guide/gpudev.rst
|
|
|
|
F: doc/guides/gpus/features/default.ini
|
|
|
|
F: app/test-gpudev/
|
|
|
|
|
2017-10-16 10:32:55 +00:00
|
|
|
Eventdev API
|
2018-12-16 15:43:25 +00:00
|
|
|
M: Jerin Jacob <jerinj@marvell.com>
|
2016-11-18 02:00:38 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-eventdev
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eventdev/
|
2016-11-18 05:45:01 +00:00
|
|
|
F: drivers/event/skeleton/
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_eventdev.c
|
2020-01-28 05:34:55 +00:00
|
|
|
F: examples/l3fwd/l3fwd_event*
|
2016-11-18 02:00:38 +00:00
|
|
|
|
2019-06-24 23:16:02 +00:00
|
|
|
Eventdev Ethdev Rx Adapter API
|
2022-10-21 11:35:35 +00:00
|
|
|
M: Naga Harish K S V <s.v.naga.harish.k@intel.com>
|
2017-10-10 22:21:34 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-eventdev
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eventdev/*eth_rx_adapter*
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_event_eth_rx_adapter.c
|
2017-10-24 09:13:29 +00:00
|
|
|
F: doc/guides/prog_guide/event_ethernet_rx_adapter.rst
|
|
|
|
|
2019-04-19 12:10:40 +00:00
|
|
|
Eventdev Ethdev Tx Adapter API
|
2022-10-21 11:35:35 +00:00
|
|
|
M: Naga Harish K S V <s.v.naga.harish.k@intel.com>
|
2018-09-20 17:41:12 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-eventdev
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eventdev/*eth_tx_adapter*
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_event_eth_tx_adapter.c
|
2018-09-20 17:41:16 +00:00
|
|
|
F: doc/guides/prog_guide/event_ethernet_tx_adapter.rst
|
2018-09-20 17:41:12 +00:00
|
|
|
|
2019-04-19 12:10:40 +00:00
|
|
|
Eventdev Timer Adapter API
|
2018-04-04 21:51:06 +00:00
|
|
|
M: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
|
|
|
|
T: git://dpdk.org/next/dpdk-next-eventdev
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eventdev/*timer_adapter*
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_event_timer_adapter.c
|
2018-04-04 21:51:13 +00:00
|
|
|
F: doc/guides/prog_guide/event_timer_adapter.rst
|
2018-04-04 21:51:06 +00:00
|
|
|
|
2019-04-19 12:10:40 +00:00
|
|
|
Eventdev Crypto Adapter API
|
2018-05-09 08:17:57 +00:00
|
|
|
M: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
|
|
|
|
T: git://dpdk.org/next/dpdk-next-eventdev
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/eventdev/*crypto_adapter*
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_event_crypto_adapter.c
|
2018-05-09 08:18:01 +00:00
|
|
|
F: doc/guides/prog_guide/event_crypto_adapter.rst
|
2018-05-09 08:17:57 +00:00
|
|
|
|
2020-07-07 08:54:07 +00:00
|
|
|
Raw device API
|
2022-06-03 05:50:39 +00:00
|
|
|
M: Sachin Saxena <sachin.saxena@oss.nxp.com>
|
rawdev: introduce raw device library
Each device in DPDK has a type associated with it - ethernet, crypto,
event etc. This patch introduces 'rawdevice' which is a generic
type of device, not currently handled out-of-the-box by DPDK.
A device which can be scanned on an installed bus (pci, fslmc, ...)
or instantiated through devargs, can be interfaced using
standardized APIs just like other standardized devices.
This library introduces an API set which can be plugged on the
northbound side to the application layer, and on the southbound side
to the driver layer.
The APIs of rawdev library exposes some generic operations which can
enable configuration and I/O with the raw devices. Using opaque
data (pointer) as API arguments, library allows a high flexibility
for application and driver implementation.
This patch introduces basic device operations like start, stop, reset,
queue and info support.
Subsequent patches would introduce other operations like buffer
enqueue/dequeue and firmware support.
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-01-31 09:13:09 +00:00
|
|
|
M: Hemant Agrawal <hemant.agrawal@nxp.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/rawdev/
|
2019-07-05 09:34:00 +00:00
|
|
|
F: drivers/raw/skeleton/
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_rawdev.c
|
2018-01-31 09:13:18 +00:00
|
|
|
F: doc/guides/prog_guide/rawdev.rst
|
rawdev: introduce raw device library
Each device in DPDK has a type associated with it - ethernet, crypto,
event etc. This patch introduces 'rawdevice' which is a generic
type of device, not currently handled out-of-the-box by DPDK.
A device which can be scanned on an installed bus (pci, fslmc, ...)
or instantiated through devargs, can be interfaced using
standardized APIs just like other standardized devices.
This library introduces an API set which can be plugged on the
northbound side to the application layer, and on the southbound side
to the driver layer.
The APIs of rawdev library exposes some generic operations which can
enable configuration and I/O with the raw devices. Using opaque
data (pointer) as API arguments, library allows a high flexibility
for application and driver implementation.
This patch introduces basic device operations like start, stop, reset,
queue and info support.
Subsequent patches would introduce other operations like buffer
enqueue/dequeue and firmware support.
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-01-31 09:13:09 +00:00
|
|
|
|
2017-10-10 22:21:34 +00:00
|
|
|
|
2018-04-26 10:59:19 +00:00
|
|
|
Memory Pool Drivers
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
Bucket memory pool
|
|
|
|
M: Artem V. Andreev <artem.andreev@oktetlabs.ru>
|
2020-09-24 13:40:22 +00:00
|
|
|
M: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
|
2018-04-26 10:59:19 +00:00
|
|
|
F: drivers/mempool/bucket/
|
|
|
|
|
2021-04-08 09:50:39 +00:00
|
|
|
Marvell cnxk
|
|
|
|
M: Ashwin Sekhar T K <asekhar@marvell.com>
|
|
|
|
M: Pavan Nikhilesh <pbhagavatula@marvell.com>
|
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mrvl
|
|
|
|
F: drivers/mempool/cnxk/
|
|
|
|
F: doc/guides/mempool/cnxk.rst
|
|
|
|
|
2018-04-26 10:59:19 +00:00
|
|
|
|
2017-10-26 10:06:08 +00:00
|
|
|
Bus Drivers
|
|
|
|
-----------
|
|
|
|
|
2021-07-05 06:45:12 +00:00
|
|
|
Auxiliary bus driver - EXPERIMENTAL
|
|
|
|
M: Parav Pandit <parav@nvidia.com>
|
|
|
|
M: Xueming Li <xuemingl@nvidia.com>
|
|
|
|
F: drivers/bus/auxiliary/
|
|
|
|
|
2018-05-11 08:31:29 +00:00
|
|
|
Intel FPGA bus
|
|
|
|
M: Rosen Xu <rosen.xu@intel.com>
|
|
|
|
F: drivers/bus/ifpga/
|
|
|
|
|
2017-11-15 00:42:24 +00:00
|
|
|
NXP buses
|
|
|
|
M: Hemant Agrawal <hemant.agrawal@nxp.com>
|
2020-09-14 14:06:03 +00:00
|
|
|
M: Sachin Saxena <sachin.saxena@oss.nxp.com>
|
2018-10-15 12:01:54 +00:00
|
|
|
F: drivers/common/dpaax/
|
2017-11-15 00:42:24 +00:00
|
|
|
F: drivers/bus/dpaa/
|
|
|
|
F: drivers/bus/fslmc/
|
|
|
|
|
2017-10-26 10:06:08 +00:00
|
|
|
PCI bus driver
|
|
|
|
F: drivers/bus/pci/
|
|
|
|
|
2017-11-07 06:54:21 +00:00
|
|
|
VDEV bus driver
|
|
|
|
F: drivers/bus/vdev/
|
2021-11-24 12:45:24 +00:00
|
|
|
F: app/test/test_vdev.c
|
2017-11-07 06:54:21 +00:00
|
|
|
|
2018-07-13 17:06:42 +00:00
|
|
|
VMBUS bus driver
|
2020-06-25 23:52:16 +00:00
|
|
|
M: Long Li <longli@microsoft.com>
|
2018-07-13 17:06:42 +00:00
|
|
|
F: drivers/bus/vmbus/
|
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2016-07-20 10:34:45 +00:00
|
|
|
Networking Drivers
|
|
|
|
------------------
|
2022-09-21 13:41:01 +00:00
|
|
|
M: Ferruh Yigit <ferruh.yigit@amd.com>
|
2016-11-10 12:14:40 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/default.ini
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Link bonding
|
2018-05-30 14:44:39 +00:00
|
|
|
M: Chas Williams <chas3@att.com>
|
2020-10-09 13:37:32 +00:00
|
|
|
M: Min Hu (Connor) <humin29@huawei.com>
|
2015-05-15 15:56:48 +00:00
|
|
|
F: drivers/net/bonding/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_link_bonding*
|
2015-02-20 16:09:21 +00:00
|
|
|
F: examples/bond/
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Linux KNI
|
2018-02-22 06:09:05 +00:00
|
|
|
F: kernel/linux/kni/
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/kni/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/kernel_nic_interface.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_kni.c
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Linux AF_PACKET
|
2015-01-23 18:12:25 +00:00
|
|
|
M: John W. Linville <linville@tuxdriver.com>
|
2015-05-15 15:56:47 +00:00
|
|
|
F: drivers/net/af_packet/
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/afpacket.ini
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2019-04-04 08:51:13 +00:00
|
|
|
Linux AF_XDP
|
2020-06-30 12:04:58 +00:00
|
|
|
M: Ciara Loftus <ciara.loftus@intel.com>
|
2019-04-04 08:51:13 +00:00
|
|
|
M: Qi Zhang <qi.z.zhang@intel.com>
|
|
|
|
F: drivers/net/af_xdp/
|
|
|
|
F: doc/guides/nics/af_xdp.rst
|
|
|
|
F: doc/guides/nics/features/af_xdp.ini
|
|
|
|
|
2016-03-17 14:31:15 +00:00
|
|
|
Amazon ENA
|
2017-04-12 14:21:49 +00:00
|
|
|
M: Marcin Wojtas <mw@semihalf.com>
|
|
|
|
M: Michal Krawczyk <mk@semihalf.com>
|
2021-07-23 10:43:37 +00:00
|
|
|
M: Shai Brandes <shaibran@amazon.com>
|
2016-03-17 14:31:15 +00:00
|
|
|
M: Evgeny Schemeilin <evgenys@amazon.com>
|
2019-09-26 10:45:27 +00:00
|
|
|
M: Igor Chauskin <igorch@amazon.com>
|
2016-03-17 14:31:15 +00:00
|
|
|
F: drivers/net/ena/
|
|
|
|
F: doc/guides/nics/ena.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/ena.ini
|
2016-03-17 14:31:15 +00:00
|
|
|
|
2018-04-23 01:18:35 +00:00
|
|
|
AMD axgbe
|
2021-10-21 04:58:38 +00:00
|
|
|
M: Chandubabu Namburu <chandu@amd.com>
|
2018-04-23 01:18:35 +00:00
|
|
|
F: drivers/net/axgbe/
|
|
|
|
F: doc/guides/nics/axgbe.rst
|
|
|
|
F: doc/guides/nics/features/axgbe.ini
|
|
|
|
|
2022-10-18 19:41:01 +00:00
|
|
|
AMD Pensando ionic
|
|
|
|
M: Andrew Boyer <andrew.boyer@amd.com>
|
|
|
|
F: drivers/net/ionic/
|
|
|
|
F: doc/guides/nics/ionic.rst
|
|
|
|
F: doc/guides/nics/features/ionic.ini
|
|
|
|
|
2021-07-27 08:02:34 +00:00
|
|
|
Marvell/Aquantia atlantic
|
|
|
|
M: Igor Russkikh <irusskikh@marvell.com>
|
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mrvl
|
2018-10-12 11:09:03 +00:00
|
|
|
F: drivers/net/atlantic/
|
|
|
|
F: doc/guides/nics/atlantic.rst
|
|
|
|
F: doc/guides/nics/features/atlantic.ini
|
|
|
|
|
2017-04-04 19:50:23 +00:00
|
|
|
Atomic Rules ARK
|
|
|
|
M: Shepard Siegel <shepard.siegel@atomicrules.com>
|
|
|
|
M: Ed Czeck <ed.czeck@atomicrules.com>
|
|
|
|
M: John Miller <john.miller@atomicrules.com>
|
|
|
|
F: drivers/net/ark/
|
|
|
|
F: doc/guides/nics/ark.rst
|
|
|
|
F: doc/guides/nics/features/ark.ini
|
|
|
|
|
2016-06-15 21:23:01 +00:00
|
|
|
Broadcom bnxt
|
2016-09-21 22:27:14 +00:00
|
|
|
M: Ajit Khaparde <ajit.khaparde@broadcom.com>
|
2017-12-14 17:53:33 +00:00
|
|
|
M: Somnath Kotur <somnath.kotur@broadcom.com>
|
2019-10-15 07:38:00 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-brcm
|
2016-06-15 21:23:01 +00:00
|
|
|
F: drivers/net/bnxt/
|
|
|
|
F: doc/guides/nics/bnxt.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/bnxt.ini
|
2016-06-15 21:23:01 +00:00
|
|
|
|
2016-06-17 13:29:53 +00:00
|
|
|
Cavium ThunderX nicvf
|
2018-12-16 15:43:25 +00:00
|
|
|
M: Jerin Jacob <jerinj@marvell.com>
|
|
|
|
M: Maciej Czekaj <mczekaj@marvell.com>
|
2019-06-25 05:42:41 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mrvl
|
2016-06-17 13:29:53 +00:00
|
|
|
F: drivers/net/thunderx/
|
|
|
|
F: doc/guides/nics/thunderx.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/thunderx.ini
|
2016-06-17 13:29:53 +00:00
|
|
|
|
ethdev: remove old close behaviour
The temporary flag RTE_ETH_DEV_CLOSE_REMOVE is removed.
It was introduced in DPDK 18.11 in order to give time for PMDs to migrate.
The old behaviour was to free only queues when closing a port.
The new behaviour is calling rte_eth_dev_release_port() which does
three more tasks:
- trigger event callback
- reset state and few pointers
- free all generic port resources
The private port resources must be released in the .dev_close callback.
The .remove callback should:
- call .dev_close callback
- call rte_eth_dev_release_port()
- free multi-port device shared resources
Despite waiting two years, some drivers have not migrated,
so they may hit issues with the incompatible new behaviour.
After sending emails, adding logs, and announcing the deprecation,
the only last solution is to declare these drivers as unmaintained:
ionic, liquidio, nfp
Below is a summary of what to implement in those drivers.
* The freeing of private port resources must be moved
from the ".remove(device)" function to the ".dev_close(port)" function.
* If a generic resource (.mac_addrs or .hash_mac_addrs) cannot be freed,
it must be set to NULL in ".dev_close" function to protect from
subsequent rte_eth_dev_release_port() freeing.
* Note 1:
The generic resources are freed in rte_eth_dev_release_port(),
after ".dev_close" is called in rte_eth_dev_close(), but not when
calling ".dev_close" directly from the ".remove" PMD function.
That's why rte_eth_dev_release_port() must still be called explicitly
from ".remove(device)" after calling the ".dev_close" PMD function.
* Note 2:
If a device can have multiple ports, the common resources must be freed
only in the ".remove(device)" function.
* Note 3:
The port is supposed to be in a stopped state when it is closed.
If it is not the case, it is free to the PMD implementation
how to react when trying to close a non-stopped port:
either try to stop it automatically or just return an error.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Haiyue Wang <haiyue.wang@intel.com>
Acked-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
2020-09-28 23:14:29 +00:00
|
|
|
Cavium LiquidIO - UNMAINTAINED
|
2018-12-16 15:43:25 +00:00
|
|
|
M: Shijith Thotton <sthotton@marvell.com>
|
|
|
|
M: Srisivasubramanian Srinivasan <srinivasan@marvell.com>
|
2019-06-25 05:42:41 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mrvl
|
2017-03-25 06:24:12 +00:00
|
|
|
F: drivers/net/liquidio/
|
2017-03-25 06:24:57 +00:00
|
|
|
F: doc/guides/nics/liquidio.rst
|
2017-03-25 06:24:12 +00:00
|
|
|
F: doc/guides/nics/features/liquidio.ini
|
|
|
|
|
2018-10-10 02:50:56 +00:00
|
|
|
Cavium OCTEON TX
|
2019-12-11 14:23:42 +00:00
|
|
|
M: Harman Kalra <hkalra@marvell.com>
|
2019-06-25 05:42:41 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mrvl
|
2018-04-04 14:30:25 +00:00
|
|
|
F: drivers/common/octeontx/
|
2017-10-08 12:40:02 +00:00
|
|
|
F: drivers/mempool/octeontx/
|
2017-10-08 12:44:05 +00:00
|
|
|
F: drivers/net/octeontx/
|
2017-10-08 12:44:30 +00:00
|
|
|
F: doc/guides/nics/octeontx.rst
|
2017-10-08 12:44:05 +00:00
|
|
|
F: doc/guides/nics/features/octeontx.ini
|
2017-10-08 12:40:02 +00:00
|
|
|
|
2015-06-29 23:28:35 +00:00
|
|
|
Chelsio cxgbe
|
|
|
|
M: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
|
|
|
|
F: drivers/net/cxgbe/
|
2015-06-29 23:28:42 +00:00
|
|
|
F: doc/guides/nics/cxgbe.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/cxgbe.ini
|
2015-06-29 23:28:35 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Cisco enic
|
2015-11-05 19:14:25 +00:00
|
|
|
M: John Daley <johndale@cisco.com>
|
2018-01-10 09:17:01 +00:00
|
|
|
M: Hyong Youb Kim <hyonkim@cisco.com>
|
2015-05-15 15:56:50 +00:00
|
|
|
F: drivers/net/enic/
|
2016-03-18 18:27:07 +00:00
|
|
|
F: doc/guides/nics/enic.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/enic.ini
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2022-10-25 09:07:24 +00:00
|
|
|
Google Virtual Ethernet
|
|
|
|
M: Junfeng Guo <junfeng.guo@intel.com>
|
|
|
|
F: drivers/net/gve/
|
|
|
|
F: doc/guides/nics/gve.rst
|
|
|
|
F: doc/guides/nics/features/gve.ini
|
|
|
|
|
2019-09-26 14:01:47 +00:00
|
|
|
Hisilicon hns3
|
2022-06-22 10:49:11 +00:00
|
|
|
M: Dongdong Liu <liudongdong3@huawei.com>
|
2019-09-26 14:01:47 +00:00
|
|
|
M: Yisen Zhuang <yisen.zhuang@huawei.com>
|
|
|
|
F: drivers/net/hns3/
|
|
|
|
F: doc/guides/nics/hns3.rst
|
|
|
|
F: doc/guides/nics/features/hns3.ini
|
|
|
|
|
2019-06-27 08:18:20 +00:00
|
|
|
Huawei hinic
|
|
|
|
M: Ziyang Xuan <xuanziyang2@huawei.com>
|
|
|
|
M: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
|
|
|
|
M: Guoyang Zhou <zhouguoyang@huawei.com>
|
|
|
|
F: drivers/net/hinic/
|
|
|
|
F: doc/guides/nics/hinic.rst
|
|
|
|
F: doc/guides/nics/features/hinic.ini
|
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Intel e1000
|
2022-04-08 05:58:15 +00:00
|
|
|
M: Simei Su <simei.su@intel.com>
|
|
|
|
M: Wenjun Wu <wenjun1.wu@intel.com>
|
2018-01-09 13:50:07 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-intel
|
2015-05-15 15:56:49 +00:00
|
|
|
F: drivers/net/e1000/
|
2015-01-31 22:06:06 +00:00
|
|
|
F: doc/guides/nics/e1000em.rst
|
|
|
|
F: doc/guides/nics/intel_vf.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/e1000.ini
|
|
|
|
F: doc/guides/nics/features/igb*.ini
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Intel ixgbe
|
2022-04-08 05:58:16 +00:00
|
|
|
M: Qiming Yang <qiming.yang@intel.com>
|
|
|
|
M: Wenjun Wu <wenjun1.wu@intel.com>
|
2018-01-09 13:50:07 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-intel
|
2015-05-15 15:56:53 +00:00
|
|
|
F: drivers/net/ixgbe/
|
2015-01-31 22:06:06 +00:00
|
|
|
F: doc/guides/nics/ixgbe.rst
|
|
|
|
F: doc/guides/nics/intel_vf.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/ixgbe*.ini
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Intel i40e
|
2022-04-12 02:02:57 +00:00
|
|
|
M: Yuying Zhang <Yuying.Zhang@intel.com>
|
2017-06-29 01:11:38 +00:00
|
|
|
M: Beilei Xing <beilei.xing@intel.com>
|
2018-01-09 13:50:07 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-intel
|
2015-05-18 11:05:12 +00:00
|
|
|
F: drivers/net/i40e/
|
2016-03-29 03:21:56 +00:00
|
|
|
F: doc/guides/nics/i40e.rst
|
2015-01-31 22:06:06 +00:00
|
|
|
F: doc/guides/nics/intel_vf.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/i40e*.ini
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2015-02-12 10:06:07 +00:00
|
|
|
Intel fm10k
|
2017-10-25 11:22:54 +00:00
|
|
|
M: Qi Zhang <qi.z.zhang@intel.com>
|
|
|
|
M: Xiao Wang <xiao.w.wang@intel.com>
|
2018-01-09 13:50:07 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-intel
|
2015-05-15 15:56:51 +00:00
|
|
|
F: drivers/net/fm10k/
|
2018-05-22 14:28:30 +00:00
|
|
|
F: doc/guides/nics/fm10k.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/fm10k*.ini
|
2015-02-12 10:06:07 +00:00
|
|
|
|
2019-02-25 17:18:51 +00:00
|
|
|
Intel iavf
|
2018-01-10 13:01:53 +00:00
|
|
|
M: Jingjing Wu <jingjing.wu@intel.com>
|
2020-04-26 08:21:52 +00:00
|
|
|
M: Beilei Xing <beilei.xing@intel.com>
|
2018-04-04 15:13:03 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-intel
|
2019-02-25 17:18:51 +00:00
|
|
|
F: drivers/net/iavf/
|
2020-01-10 01:37:49 +00:00
|
|
|
F: drivers/common/iavf/
|
2019-02-25 17:18:51 +00:00
|
|
|
F: doc/guides/nics/features/iavf*.ini
|
2018-01-10 13:01:53 +00:00
|
|
|
|
2018-12-18 08:46:10 +00:00
|
|
|
Intel ice
|
|
|
|
M: Qiming Yang <qiming.yang@intel.com>
|
2020-04-30 09:28:05 +00:00
|
|
|
M: Qi Zhang <qi.z.zhang@intel.com>
|
2018-12-18 08:46:10 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-intel
|
|
|
|
F: drivers/net/ice/
|
2018-12-18 08:46:24 +00:00
|
|
|
F: doc/guides/nics/ice.rst
|
|
|
|
F: doc/guides/nics/features/ice.ini
|
2018-12-18 08:46:10 +00:00
|
|
|
|
2022-10-31 08:33:30 +00:00
|
|
|
Intel idpf
|
|
|
|
M: Jingjing Wu <jingjing.wu@intel.com>
|
|
|
|
M: Beilei Xing <beilei.xing@intel.com>
|
|
|
|
T: git://dpdk.org/next/dpdk-next-net-intel
|
|
|
|
F: drivers/net/idpf/
|
|
|
|
F: drivers/common/idpf/
|
|
|
|
F: doc/guides/nics/idpf.rst
|
|
|
|
F: doc/guides/nics/features/idpf.ini
|
|
|
|
|
2020-04-15 08:48:00 +00:00
|
|
|
Intel igc
|
2022-04-08 05:58:17 +00:00
|
|
|
M: Junfeng Guo <junfeng.guo@intel.com>
|
|
|
|
M: Simei Su <simei.su@intel.com>
|
2020-04-15 08:48:00 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-intel
|
|
|
|
F: drivers/net/igc/
|
|
|
|
F: doc/guides/nics/igc.rst
|
|
|
|
F: doc/guides/nics/features/igc.ini
|
|
|
|
|
2019-04-16 03:17:40 +00:00
|
|
|
Intel ipn3ke
|
|
|
|
M: Rosen Xu <rosen.xu@intel.com>
|
|
|
|
T: git://dpdk.org/next/dpdk-next-net-intel
|
|
|
|
F: drivers/net/ipn3ke/
|
|
|
|
F: doc/guides/nics/ipn3ke.rst
|
|
|
|
F: doc/guides/nics/features/ipn3ke.ini
|
|
|
|
|
2021-04-06 14:40:53 +00:00
|
|
|
Marvell cnxk
|
|
|
|
M: Nithin Dabilpuram <ndabilpuram@marvell.com>
|
|
|
|
M: Kiran Kumar K <kirankumark@marvell.com>
|
|
|
|
M: Sunil Kumar Kori <skori@marvell.com>
|
|
|
|
M: Satha Rao <skoteshwar@marvell.com>
|
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mrvl
|
|
|
|
F: drivers/common/cnxk/
|
2021-06-23 04:46:09 +00:00
|
|
|
F: drivers/net/cnxk/
|
|
|
|
F: doc/guides/nics/cnxk.rst
|
|
|
|
F: doc/guides/nics/features/cnxk*.ini
|
2021-04-06 14:40:53 +00:00
|
|
|
F: doc/guides/platform/cnxk.rst
|
|
|
|
|
2018-04-23 01:18:35 +00:00
|
|
|
Marvell mvpp2
|
2019-02-20 15:01:59 +00:00
|
|
|
M: Liron Himi <lironh@marvell.com>
|
2019-06-25 05:42:41 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mrvl
|
2018-08-24 18:29:58 +00:00
|
|
|
F: drivers/common/mvep/
|
2018-04-23 01:18:35 +00:00
|
|
|
F: drivers/net/mvpp2/
|
|
|
|
F: doc/guides/nics/mvpp2.rst
|
|
|
|
F: doc/guides/nics/features/mvpp2.ini
|
|
|
|
|
2018-10-03 07:22:09 +00:00
|
|
|
Marvell mvneta
|
|
|
|
M: Zyta Szpak <zr@semihalf.com>
|
2019-02-20 15:01:59 +00:00
|
|
|
M: Liron Himi <lironh@marvell.com>
|
2019-06-25 05:42:41 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mrvl
|
2018-10-03 07:22:09 +00:00
|
|
|
F: drivers/net/mvneta/
|
|
|
|
F: doc/guides/nics/mvneta.rst
|
|
|
|
F: doc/guides/nics/features/mvneta.ini
|
|
|
|
|
2021-01-29 12:45:00 +00:00
|
|
|
Marvell OCTEON TX EP - endpoint
|
|
|
|
M: Radha Mohan Chintakuntla <radhac@marvell.com>
|
|
|
|
M: Veerasenareddy Burru <vburru@marvell.com>
|
2022-07-13 08:18:50 +00:00
|
|
|
M: Sathesh Edara <sedara@marvell.com>
|
2021-01-29 12:45:00 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mrvl
|
2022-08-22 09:10:02 +00:00
|
|
|
F: drivers/net/octeon_ep/
|
|
|
|
F: doc/guides/nics/features/octeon_ep.ini
|
|
|
|
F: doc/guides/nics/octeon_ep.rst
|
2021-01-29 12:45:00 +00:00
|
|
|
|
2022-09-22 14:53:52 +00:00
|
|
|
NVIDIA mlx4
|
2020-08-12 16:08:35 +00:00
|
|
|
M: Matan Azrad <matan@nvidia.com>
|
2021-08-23 14:50:41 +00:00
|
|
|
M: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
|
2018-01-04 20:01:07 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mlx
|
2015-05-15 15:56:54 +00:00
|
|
|
F: drivers/net/mlx4/
|
2015-01-31 22:06:06 +00:00
|
|
|
F: doc/guides/nics/mlx4.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/mlx4.ini
|
2015-02-25 13:52:05 +00:00
|
|
|
|
2022-09-22 14:53:52 +00:00
|
|
|
NVIDIA mlx5
|
2020-08-12 16:08:35 +00:00
|
|
|
M: Matan Azrad <matan@nvidia.com>
|
|
|
|
M: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
|
2018-01-04 20:01:07 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mlx
|
2020-01-29 12:38:27 +00:00
|
|
|
F: drivers/common/mlx5/
|
2015-10-30 18:52:30 +00:00
|
|
|
F: drivers/net/mlx5/
|
2019-01-09 14:23:19 +00:00
|
|
|
F: buildtools/options-ibverbs-static.sh
|
2015-10-30 18:52:42 +00:00
|
|
|
F: doc/guides/nics/mlx5.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/mlx5.ini
|
2015-10-30 18:52:30 +00:00
|
|
|
|
2022-10-13 11:47:53 +00:00
|
|
|
Microsoft mana - EXPERIMENTAL
|
2022-10-05 23:21:51 +00:00
|
|
|
M: Long Li <longli@microsoft.com>
|
|
|
|
F: drivers/net/mana/
|
|
|
|
F: doc/guides/nics/mana.rst
|
|
|
|
F: doc/guides/nics/features/mana.ini
|
|
|
|
|
2018-01-18 13:51:42 +00:00
|
|
|
Microsoft vdev_netvsc - EXPERIMENTAL
|
2020-08-12 16:08:35 +00:00
|
|
|
M: Matan Azrad <matan@nvidia.com>
|
2018-01-18 13:51:42 +00:00
|
|
|
F: drivers/net/vdev_netvsc/
|
|
|
|
F: doc/guides/nics/vdev_netvsc.rst
|
|
|
|
|
2020-09-15 02:03:40 +00:00
|
|
|
Microsoft Hyper-V netvsc
|
2020-06-25 20:29:46 +00:00
|
|
|
M: Long Li <longli@microsoft.com>
|
2018-07-13 17:06:43 +00:00
|
|
|
F: drivers/net/netvsc/
|
2018-07-13 17:06:44 +00:00
|
|
|
F: doc/guides/nics/netvsc.rst
|
|
|
|
F: doc/guides/nics/features/netvsc.ini
|
2018-07-13 17:06:43 +00:00
|
|
|
|
2019-04-07 15:03:21 +00:00
|
|
|
Netcope nfb
|
2020-06-10 09:12:42 +00:00
|
|
|
M: Martin Spinler <spinler@cesnet.cz>
|
2019-04-07 15:03:21 +00:00
|
|
|
F: drivers/net/nfb/
|
|
|
|
F: doc/guides/nics/nfb.rst
|
|
|
|
F: doc/guides/nics/features/nfb.ini
|
|
|
|
|
2021-01-31 10:36:07 +00:00
|
|
|
Netronome nfp
|
2022-05-17 03:02:22 +00:00
|
|
|
M: Chaoyong He <chaoyong.he@corigine.com>
|
2022-03-25 12:01:33 +00:00
|
|
|
M: Niklas Soderlund <niklas.soderlund@corigine.com>
|
2015-11-30 10:25:35 +00:00
|
|
|
F: drivers/net/nfp/
|
2015-11-30 10:25:42 +00:00
|
|
|
F: doc/guides/nics/nfp.rst
|
2017-09-01 14:12:21 +00:00
|
|
|
F: doc/guides/nics/features/nfp*.ini
|
2015-11-30 10:25:35 +00:00
|
|
|
|
2017-09-28 12:29:22 +00:00
|
|
|
NXP dpaa
|
|
|
|
M: Hemant Agrawal <hemant.agrawal@nxp.com>
|
2020-09-14 14:06:03 +00:00
|
|
|
M: Sachin Saxena <sachin.saxena@oss.nxp.com>
|
2017-09-28 12:29:39 +00:00
|
|
|
F: drivers/mempool/dpaa/
|
2017-09-28 12:29:42 +00:00
|
|
|
F: drivers/net/dpaa/
|
2017-09-28 12:29:37 +00:00
|
|
|
F: doc/guides/nics/dpaa.rst
|
|
|
|
F: doc/guides/nics/features/dpaa.ini
|
2017-09-28 12:29:22 +00:00
|
|
|
|
2017-04-11 13:37:08 +00:00
|
|
|
NXP dpaa2
|
|
|
|
M: Hemant Agrawal <hemant.agrawal@nxp.com>
|
2020-09-14 14:06:03 +00:00
|
|
|
M: Sachin Saxena <sachin.saxena@oss.nxp.com>
|
2017-04-11 13:42:39 +00:00
|
|
|
F: drivers/mempool/dpaa2/
|
2017-04-11 13:49:17 +00:00
|
|
|
F: drivers/net/dpaa2/
|
2017-04-11 13:49:18 +00:00
|
|
|
F: doc/guides/nics/dpaa2.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/dpaa2.ini
|
2017-04-11 13:37:08 +00:00
|
|
|
|
2018-10-03 13:36:05 +00:00
|
|
|
NXP enetc
|
|
|
|
M: Gagandeep Singh <g.singh@nxp.com>
|
2020-09-14 14:06:03 +00:00
|
|
|
M: Sachin Saxena <sachin.saxena@oss.nxp.com>
|
2018-10-03 13:36:05 +00:00
|
|
|
F: drivers/net/enetc/
|
2018-10-03 13:36:08 +00:00
|
|
|
F: doc/guides/nics/enetc.rst
|
2018-10-03 13:36:05 +00:00
|
|
|
F: doc/guides/nics/features/enetc.ini
|
|
|
|
|
2021-11-15 07:19:36 +00:00
|
|
|
NXP enetfec - EXPERIMENTAL
|
|
|
|
M: Apeksha Gupta <apeksha.gupta@nxp.com>
|
|
|
|
M: Sachin Saxena <sachin.saxena@nxp.com>
|
|
|
|
F: drivers/net/enetfec/
|
|
|
|
F: doc/guides/nics/enetfec.rst
|
|
|
|
F: doc/guides/nics/features/enetfec.ini
|
|
|
|
|
2019-10-10 06:32:22 +00:00
|
|
|
NXP pfe
|
|
|
|
M: Gagandeep Singh <g.singh@nxp.com>
|
|
|
|
F: doc/guides/nics/pfe.rst
|
|
|
|
F: drivers/net/pfe/
|
|
|
|
F: doc/guides/nics/features/pfe.ini
|
|
|
|
|
2021-07-27 08:02:35 +00:00
|
|
|
Marvell QLogic bnx2x
|
2018-12-16 15:43:25 +00:00
|
|
|
M: Rasesh Mody <rmody@marvell.com>
|
|
|
|
M: Shahed Shaikh <shshaikh@marvell.com>
|
2019-06-25 05:42:41 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mrvl
|
2015-12-11 06:36:41 +00:00
|
|
|
F: drivers/net/bnx2x/
|
|
|
|
F: doc/guides/nics/bnx2x.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/bnx2x*.ini
|
2015-12-11 06:36:41 +00:00
|
|
|
|
2021-07-27 08:02:35 +00:00
|
|
|
Marvell QLogic qede PMD
|
2018-12-16 15:43:25 +00:00
|
|
|
M: Rasesh Mody <rmody@marvell.com>
|
2021-03-10 08:16:31 +00:00
|
|
|
M: Devendra Singh Rawat <dsinghrawat@marvell.com>
|
2019-06-25 05:42:41 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-mrvl
|
2016-04-27 14:18:36 +00:00
|
|
|
F: drivers/net/qede/
|
2016-04-27 14:18:37 +00:00
|
|
|
F: doc/guides/nics/qede.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/qede*.ini
|
2016-04-27 14:18:36 +00:00
|
|
|
|
2016-11-29 16:18:33 +00:00
|
|
|
Solarflare sfc_efx
|
2020-09-24 13:40:22 +00:00
|
|
|
M: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
|
2020-09-17 06:34:31 +00:00
|
|
|
F: drivers/common/sfc_efx/
|
2016-11-29 16:18:33 +00:00
|
|
|
F: drivers/net/sfc/
|
|
|
|
F: doc/guides/nics/sfc_efx.rst
|
2021-04-07 21:03:59 +00:00
|
|
|
F: doc/guides/nics/features/sfc.ini
|
2016-11-29 16:18:33 +00:00
|
|
|
|
2021-07-08 09:32:21 +00:00
|
|
|
Wangxun ngbe
|
|
|
|
M: Jiawen Wu <jiawenwu@trustnetic.com>
|
|
|
|
F: drivers/net/ngbe/
|
|
|
|
F: doc/guides/nics/ngbe.rst
|
|
|
|
F: doc/guides/nics/features/ngbe.ini
|
|
|
|
|
2020-10-19 08:53:18 +00:00
|
|
|
Wangxun txgbe
|
|
|
|
M: Jiawen Wu <jiawenwu@trustnetic.com>
|
|
|
|
M: Jian Wang <jianwang@trustnetic.com>
|
|
|
|
F: drivers/net/txgbe/
|
|
|
|
F: doc/guides/nics/txgbe.rst
|
|
|
|
F: doc/guides/nics/features/txgbe.ini
|
|
|
|
|
2017-01-12 06:24:58 +00:00
|
|
|
VMware vmxnet3
|
2022-05-06 20:06:31 +00:00
|
|
|
M: Jochen Behrens <jbehrens@vmware.com>
|
2017-01-12 06:24:58 +00:00
|
|
|
F: drivers/net/vmxnet3/
|
|
|
|
F: doc/guides/nics/vmxnet3.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/vmxnet3.ini
|
2017-01-12 06:24:58 +00:00
|
|
|
|
|
|
|
Vhost-user
|
2017-02-17 08:31:42 +00:00
|
|
|
M: Maxime Coquelin <maxime.coquelin@redhat.com>
|
2020-07-30 13:46:31 +00:00
|
|
|
M: Chenbo Xia <chenbo.xia@intel.com>
|
2016-07-19 04:17:49 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-virtio
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/vhost/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/vhost_lib.rst
|
|
|
|
F: examples/vhost/
|
|
|
|
F: doc/guides/sample_app_ug/vhost.rst
|
2019-11-04 16:36:26 +00:00
|
|
|
F: examples/vhost_blk/
|
|
|
|
F: doc/guides/sample_app_ug/vhost_blk.rst
|
2018-04-05 16:01:36 +00:00
|
|
|
F: examples/vhost_crypto/
|
2018-09-28 21:47:47 +00:00
|
|
|
F: examples/vdpa/
|
|
|
|
F: doc/guides/sample_app_ug/vdpa.rst
|
2015-01-23 12:31:59 +00:00
|
|
|
|
vhost: add driver on top of the library
The patch introduces a new PMD. This PMD is implemented as thin wrapper
of librte_vhost. It means librte_vhost is also needed to compile the PMD.
The vhost messages will be handled only when a port is started. So start
a port first, then invoke QEMU.
The PMD has 2 parameters.
- iface: The parameter is used to specify a path to connect to a
virtio-net device.
- queues: The parameter is used to specify the number of the queues
virtio-net device has.
(Default: 1)
Here is an example.
$ ./testpmd -c f -n 4 --vdev 'eth_vhost0,iface=/tmp/sock0,queues=1' -- -i
To connect above testpmd, here is qemu command example.
$ qemu-system-x86_64 \
<snip>
-chardev socket,id=chr0,path=/tmp/sock0 \
-netdev vhost-user,id=net0,chardev=chr0,vhostforce,queues=1 \
-device virtio-net-pci,netdev=net0,mq=on
Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: Rich Lane <rich.lane@bigswitch.com>
Tested-by: Rich Lane <rich.lane@bigswitch.com>
Update for queue state event name:
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2016-03-21 05:45:08 +00:00
|
|
|
Vhost PMD
|
2017-02-17 08:31:42 +00:00
|
|
|
M: Maxime Coquelin <maxime.coquelin@redhat.com>
|
2020-07-30 13:46:31 +00:00
|
|
|
M: Chenbo Xia <chenbo.xia@intel.com>
|
2016-07-19 04:17:49 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-virtio
|
vhost: add driver on top of the library
The patch introduces a new PMD. This PMD is implemented as thin wrapper
of librte_vhost. It means librte_vhost is also needed to compile the PMD.
The vhost messages will be handled only when a port is started. So start
a port first, then invoke QEMU.
The PMD has 2 parameters.
- iface: The parameter is used to specify a path to connect to a
virtio-net device.
- queues: The parameter is used to specify the number of the queues
virtio-net device has.
(Default: 1)
Here is an example.
$ ./testpmd -c f -n 4 --vdev 'eth_vhost0,iface=/tmp/sock0,queues=1' -- -i
To connect above testpmd, here is qemu command example.
$ qemu-system-x86_64 \
<snip>
-chardev socket,id=chr0,path=/tmp/sock0 \
-netdev vhost-user,id=net0,chardev=chr0,vhostforce,queues=1 \
-device virtio-net-pci,netdev=net0,mq=on
Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: Rich Lane <rich.lane@bigswitch.com>
Tested-by: Rich Lane <rich.lane@bigswitch.com>
Update for queue state event name:
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2016-03-21 05:45:08 +00:00
|
|
|
F: drivers/net/vhost/
|
2018-05-22 14:28:30 +00:00
|
|
|
F: doc/guides/nics/vhost.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/vhost.ini
|
vhost: add driver on top of the library
The patch introduces a new PMD. This PMD is implemented as thin wrapper
of librte_vhost. It means librte_vhost is also needed to compile the PMD.
The vhost messages will be handled only when a port is started. So start
a port first, then invoke QEMU.
The PMD has 2 parameters.
- iface: The parameter is used to specify a path to connect to a
virtio-net device.
- queues: The parameter is used to specify the number of the queues
virtio-net device has.
(Default: 1)
Here is an example.
$ ./testpmd -c f -n 4 --vdev 'eth_vhost0,iface=/tmp/sock0,queues=1' -- -i
To connect above testpmd, here is qemu command example.
$ qemu-system-x86_64 \
<snip>
-chardev socket,id=chr0,path=/tmp/sock0 \
-netdev vhost-user,id=net0,chardev=chr0,vhostforce,queues=1 \
-device virtio-net-pci,netdev=net0,mq=on
Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: Rich Lane <rich.lane@bigswitch.com>
Tested-by: Rich Lane <rich.lane@bigswitch.com>
Update for queue state event name:
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2016-03-21 05:45:08 +00:00
|
|
|
|
2017-01-12 06:24:58 +00:00
|
|
|
Virtio PMD
|
2017-02-17 08:31:42 +00:00
|
|
|
M: Maxime Coquelin <maxime.coquelin@redhat.com>
|
2020-07-30 13:46:31 +00:00
|
|
|
M: Chenbo Xia <chenbo.xia@intel.com>
|
2017-01-12 06:24:58 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-virtio
|
|
|
|
F: drivers/net/virtio/
|
|
|
|
F: doc/guides/nics/virtio.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/virtio*.ini
|
2017-01-12 06:24:58 +00:00
|
|
|
|
2017-03-28 11:53:56 +00:00
|
|
|
Wind River AVP
|
2019-11-07 20:48:34 +00:00
|
|
|
M: Steven Webster <steven.webster@windriver.com>
|
2017-03-28 11:53:56 +00:00
|
|
|
M: Matt Peters <matt.peters@windriver.com>
|
|
|
|
F: drivers/net/avp/
|
2017-03-28 11:54:09 +00:00
|
|
|
F: doc/guides/nics/avp.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/avp.ini
|
2017-03-28 11:53:56 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
PCAP PMD
|
2015-05-15 15:56:56 +00:00
|
|
|
F: drivers/net/pcap/
|
2015-01-31 22:06:06 +00:00
|
|
|
F: doc/guides/nics/pcap_ring.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/pcap.ini
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2016-12-12 14:38:38 +00:00
|
|
|
Tap PMD
|
|
|
|
F: drivers/net/tap/
|
|
|
|
F: doc/guides/nics/tap.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/nics/features/tap.ini
|
2016-12-12 14:38:38 +00:00
|
|
|
|
2017-02-17 13:42:38 +00:00
|
|
|
KNI PMD
|
|
|
|
F: drivers/net/kni/
|
|
|
|
F: doc/guides/nics/kni.rst
|
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Ring PMD
|
2015-03-11 10:31:54 +00:00
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
2015-05-15 15:56:57 +00:00
|
|
|
F: drivers/net/ring/
|
2015-01-31 22:06:06 +00:00
|
|
|
F: doc/guides/nics/pcap_ring.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_pmd_ring.c
|
|
|
|
F: app/test/test_pmd_ring_perf.c
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2016-07-20 10:34:45 +00:00
|
|
|
Null Networking PMD
|
2016-07-28 05:53:59 +00:00
|
|
|
M: Tetsuya Mukawa <mtetsuyah@gmail.com>
|
2015-05-15 15:56:55 +00:00
|
|
|
F: drivers/net/null/
|
2015-02-23 05:12:34 +00:00
|
|
|
|
2017-07-18 12:48:14 +00:00
|
|
|
Fail-safe PMD
|
2020-01-08 14:13:32 +00:00
|
|
|
M: Gaetan Rivet <grive@u256.net>
|
2017-07-18 12:48:14 +00:00
|
|
|
F: drivers/net/failsafe/
|
|
|
|
F: doc/guides/nics/fail_safe.rst
|
2018-05-22 14:28:30 +00:00
|
|
|
F: doc/guides/nics/features/failsafe.ini
|
2017-07-18 12:48:14 +00:00
|
|
|
|
2017-10-10 10:18:14 +00:00
|
|
|
Softnic PMD
|
|
|
|
M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
|
|
|
|
F: drivers/net/softnic/
|
2018-07-24 15:50:24 +00:00
|
|
|
F: doc/guides/nics/softnic.rst
|
2017-10-10 10:18:14 +00:00
|
|
|
|
2019-06-06 11:38:50 +00:00
|
|
|
Memif PMD
|
|
|
|
M: Jakub Grajciar <jgrajcia@cisco.com>
|
|
|
|
F: drivers/net/memif/
|
|
|
|
F: doc/guides/nics/memif.rst
|
|
|
|
F: doc/guides/nics/features/memif.ini
|
|
|
|
|
2016-07-20 10:34:45 +00:00
|
|
|
|
|
|
|
Crypto Drivers
|
|
|
|
--------------
|
2016-09-15 23:25:32 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-crypto
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/cryptodevs/features/default.ini
|
2016-07-20 10:34:45 +00:00
|
|
|
|
2018-03-19 12:23:35 +00:00
|
|
|
AMD CCP Crypto
|
2022-09-09 10:09:23 +00:00
|
|
|
M: Sunil Uttarwar <sunilprakashrao.uttarwar@amd.com>
|
2018-03-19 12:23:35 +00:00
|
|
|
F: drivers/crypto/ccp/
|
2018-03-19 12:23:53 +00:00
|
|
|
F: doc/guides/cryptodevs/ccp.rst
|
|
|
|
F: doc/guides/cryptodevs/features/ccp.ini
|
2018-03-19 12:23:35 +00:00
|
|
|
|
2017-10-13 13:52:08 +00:00
|
|
|
ARMv8 Crypto
|
2019-11-27 08:47:08 +00:00
|
|
|
M: Ruifeng Wang <ruifeng.wang@arm.com>
|
2017-01-18 20:01:54 +00:00
|
|
|
F: drivers/crypto/armv8/
|
2017-01-18 20:01:58 +00:00
|
|
|
F: doc/guides/cryptodevs/armv8.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/cryptodevs/features/armv8.ini
|
2017-01-18 20:01:54 +00:00
|
|
|
|
2020-10-07 17:18:53 +00:00
|
|
|
Broadcom FlexSparc
|
|
|
|
M: Ajit Khaparde <ajit.khaparde@broadcom.com>
|
|
|
|
M: Raveendra Padasalagi <raveendra.padasalagi@broadcom.com>
|
|
|
|
M: Vikas Gupta <vikas.gupta@broadcom.com>
|
|
|
|
F: drivers/crypto/bcmfs/
|
|
|
|
F: doc/guides/cryptodevs/bcmfs.rst
|
2020-10-07 17:18:58 +00:00
|
|
|
F: doc/guides/cryptodevs/features/bcmfs.ini
|
2020-10-07 17:18:53 +00:00
|
|
|
|
2018-10-09 09:07:34 +00:00
|
|
|
Cavium OCTEON TX crypto
|
2018-12-16 15:43:25 +00:00
|
|
|
M: Anoob Joseph <anoobj@marvell.com>
|
2018-10-09 09:07:34 +00:00
|
|
|
F: drivers/common/cpt/
|
|
|
|
F: drivers/crypto/octeontx/
|
2018-10-09 09:07:56 +00:00
|
|
|
F: doc/guides/cryptodevs/octeontx.rst
|
|
|
|
F: doc/guides/cryptodevs/features/octeontx.ini
|
2018-10-09 09:07:34 +00:00
|
|
|
|
2017-10-13 13:52:08 +00:00
|
|
|
Crypto Scheduler
|
2022-09-21 15:12:37 +00:00
|
|
|
M: Kai Ji <kai.ji@intel.com>
|
2017-10-13 13:52:08 +00:00
|
|
|
F: drivers/crypto/scheduler/
|
|
|
|
F: doc/guides/cryptodevs/scheduler.rst
|
|
|
|
|
2022-10-27 03:25:00 +00:00
|
|
|
HiSilicon UADK crypto
|
|
|
|
M: Zhangfei Gao <zhangfei.gao@linaro.org>
|
|
|
|
F: drivers/crypto/uadk/
|
|
|
|
F: doc/guides/cryptodevs/uadk.rst
|
|
|
|
F: doc/guides/cryptodevs/features/uadk.ini
|
|
|
|
|
2015-11-25 13:25:14 +00:00
|
|
|
Intel QuickAssist
|
2022-09-21 15:12:37 +00:00
|
|
|
M: Kai Ji <kai.ji@intel.com>
|
2015-11-25 13:25:14 +00:00
|
|
|
F: drivers/crypto/qat/
|
2018-07-02 09:39:13 +00:00
|
|
|
F: drivers/common/qat/
|
2016-03-10 22:35:37 +00:00
|
|
|
F: doc/guides/cryptodevs/qat.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/cryptodevs/features/qat.ini
|
2015-11-25 13:25:14 +00:00
|
|
|
|
2021-10-15 14:39:44 +00:00
|
|
|
IPsec MB
|
2022-09-21 15:12:37 +00:00
|
|
|
M: Kai Ji <kai.ji@intel.com>
|
2021-10-15 14:39:46 +00:00
|
|
|
M: Pablo de Lara <pablo.de.lara.guarch@intel.com>
|
2021-10-15 14:39:44 +00:00
|
|
|
F: drivers/crypto/ipsec_mb/
|
2021-10-15 14:39:51 +00:00
|
|
|
F: doc/guides/cryptodevs/aesni_gcm.rst
|
2021-10-15 14:39:46 +00:00
|
|
|
F: doc/guides/cryptodevs/aesni_mb.rst
|
2021-10-15 14:39:56 +00:00
|
|
|
F: doc/guides/cryptodevs/chacha20_poly1305.rst
|
2021-10-15 14:39:52 +00:00
|
|
|
F: doc/guides/cryptodevs/kasumi.rst
|
2021-10-15 14:39:53 +00:00
|
|
|
F: doc/guides/cryptodevs/snow3g.rst
|
2021-10-15 14:39:55 +00:00
|
|
|
F: doc/guides/cryptodevs/zuc.rst
|
2021-10-15 14:39:51 +00:00
|
|
|
F: doc/guides/cryptodevs/features/aesni_gcm.ini
|
2021-10-15 14:39:46 +00:00
|
|
|
F: doc/guides/cryptodevs/features/aesni_mb.ini
|
2021-10-15 14:39:56 +00:00
|
|
|
F: doc/guides/cryptodevs/features/chacha20_poly1305.ini
|
2017-10-13 13:52:08 +00:00
|
|
|
F: doc/guides/cryptodevs/features/kasumi.ini
|
2021-10-15 14:39:53 +00:00
|
|
|
F: doc/guides/cryptodevs/features/snow3g.ini
|
2021-10-15 14:39:55 +00:00
|
|
|
F: doc/guides/cryptodevs/features/zuc.ini
|
2017-10-13 13:52:08 +00:00
|
|
|
|
2021-06-25 05:56:12 +00:00
|
|
|
Marvell cnxk crypto
|
|
|
|
M: Ankur Dwivedi <adwivedi@marvell.com>
|
|
|
|
M: Anoob Joseph <anoobj@marvell.com>
|
|
|
|
M: Tejasree Kondoj <ktejasree@marvell.com>
|
|
|
|
F: drivers/crypto/cnxk/
|
|
|
|
F: doc/guides/cryptodevs/cnxk.rst
|
|
|
|
F: doc/guides/cryptodevs/features/cn9k.ini
|
|
|
|
F: doc/guides/cryptodevs/features/cn10k.ini
|
|
|
|
|
2019-02-20 15:01:59 +00:00
|
|
|
Marvell mvsam
|
2019-05-20 16:35:12 +00:00
|
|
|
M: Michael Shamis <michaelsh@marvell.com>
|
2019-02-20 15:01:59 +00:00
|
|
|
M: Liron Himi <lironh@marvell.com>
|
2018-05-08 08:14:04 +00:00
|
|
|
F: drivers/crypto/mvsam/
|
|
|
|
F: doc/guides/cryptodevs/mvsam.rst
|
|
|
|
F: doc/guides/cryptodevs/features/mvsam.ini
|
2017-10-10 12:17:19 +00:00
|
|
|
|
2019-10-01 06:41:20 +00:00
|
|
|
Marvell Nitrox
|
|
|
|
M: Nagadheeraj Rottela <rnagadheeraj@marvell.com>
|
|
|
|
M: Srikanth Jampala <jsrikanth@marvell.com>
|
|
|
|
F: drivers/crypto/nitrox/
|
|
|
|
F: doc/guides/cryptodevs/nitrox.rst
|
|
|
|
F: doc/guides/cryptodevs/features/nitrox.ini
|
|
|
|
|
2022-09-22 14:53:52 +00:00
|
|
|
NVIDIA mlx5
|
2021-07-20 13:09:30 +00:00
|
|
|
M: Matan Azrad <matan@nvidia.com>
|
|
|
|
F: drivers/crypto/mlx5/
|
|
|
|
F: doc/guides/cryptodevs/mlx5.rst
|
|
|
|
F: doc/guides/cryptodevs/features/mlx5.ini
|
|
|
|
|
2017-10-13 13:52:08 +00:00
|
|
|
Null Crypto
|
2022-09-21 15:12:37 +00:00
|
|
|
M: Kai Ji <kai.ji@intel.com>
|
2017-10-13 13:52:08 +00:00
|
|
|
F: drivers/crypto/null/
|
|
|
|
F: doc/guides/cryptodevs/null.rst
|
|
|
|
F: doc/guides/cryptodevs/features/null.ini
|
|
|
|
|
2018-10-12 14:40:42 +00:00
|
|
|
NXP CAAM JR
|
|
|
|
M: Gagandeep Singh <g.singh@nxp.com>
|
|
|
|
M: Hemant Agrawal <hemant.agrawal@nxp.com>
|
|
|
|
F: drivers/crypto/caam_jr/
|
2018-10-16 12:48:57 +00:00
|
|
|
F: doc/guides/cryptodevs/caam_jr.rst
|
|
|
|
F: doc/guides/cryptodevs/features/caam_jr.ini
|
2018-10-12 14:40:42 +00:00
|
|
|
|
2017-10-09 14:21:40 +00:00
|
|
|
NXP DPAA_SEC
|
2021-02-18 13:16:31 +00:00
|
|
|
M: Gagandeep Singh <g.singh@nxp.com>
|
2017-10-09 14:21:40 +00:00
|
|
|
M: Hemant Agrawal <hemant.agrawal@nxp.com>
|
|
|
|
F: drivers/crypto/dpaa_sec/
|
2017-10-09 14:21:42 +00:00
|
|
|
F: doc/guides/cryptodevs/dpaa_sec.rst
|
|
|
|
F: doc/guides/cryptodevs/features/dpaa_sec.ini
|
2017-10-09 14:21:40 +00:00
|
|
|
|
2017-04-20 05:44:16 +00:00
|
|
|
NXP DPAA2_SEC
|
2021-02-18 13:16:31 +00:00
|
|
|
M: Gagandeep Singh <g.singh@nxp.com>
|
2017-04-20 05:44:16 +00:00
|
|
|
M: Hemant Agrawal <hemant.agrawal@nxp.com>
|
|
|
|
F: drivers/crypto/dpaa2_sec/
|
2017-04-20 05:44:24 +00:00
|
|
|
F: doc/guides/cryptodevs/dpaa2_sec.rst
|
2017-05-10 13:33:50 +00:00
|
|
|
F: doc/guides/cryptodevs/features/dpaa2_sec.ini
|
2017-04-20 05:44:16 +00:00
|
|
|
|
2017-10-13 13:52:08 +00:00
|
|
|
OpenSSL
|
2022-09-21 15:12:37 +00:00
|
|
|
M: Kai Ji <kai.ji@intel.com>
|
2017-10-13 13:52:08 +00:00
|
|
|
F: drivers/crypto/openssl/
|
|
|
|
F: doc/guides/cryptodevs/openssl.rst
|
|
|
|
F: doc/guides/cryptodevs/features/openssl.ini
|
|
|
|
|
2018-04-17 09:23:17 +00:00
|
|
|
Virtio
|
|
|
|
M: Jay Zhou <jianjay.zhou@huawei.com>
|
|
|
|
F: drivers/crypto/virtio/
|
2018-04-17 09:23:26 +00:00
|
|
|
F: doc/guides/cryptodevs/virtio.rst
|
|
|
|
F: doc/guides/cryptodevs/features/virtio.ini
|
2018-04-17 09:23:17 +00:00
|
|
|
|
2017-06-30 08:54:16 +00:00
|
|
|
|
2018-05-09 16:14:26 +00:00
|
|
|
Compression Drivers
|
|
|
|
-------------------
|
|
|
|
T: git://dpdk.org/next/dpdk-next-crypto
|
|
|
|
|
2018-10-10 02:50:56 +00:00
|
|
|
Cavium OCTEON TX zipvf
|
2018-12-16 15:43:25 +00:00
|
|
|
M: Ashish Gupta <ashish.gupta@marvell.com>
|
2018-07-25 17:04:51 +00:00
|
|
|
F: drivers/compress/octeontx/
|
2018-07-25 17:04:55 +00:00
|
|
|
F: doc/guides/compressdevs/octeontx.rst
|
|
|
|
F: doc/guides/compressdevs/features/octeontx.ini
|
2018-07-25 17:04:51 +00:00
|
|
|
|
2018-07-13 02:28:11 +00:00
|
|
|
Intel QuickAssist
|
2022-09-21 15:12:37 +00:00
|
|
|
M: Kai Ji <kai.ji@intel.com>
|
2018-07-13 02:28:11 +00:00
|
|
|
F: drivers/compress/qat/
|
|
|
|
F: drivers/common/qat/
|
|
|
|
|
2018-05-09 16:14:26 +00:00
|
|
|
ISA-L
|
|
|
|
M: Lee Daly <lee.daly@intel.com>
|
|
|
|
F: drivers/compress/isal/
|
2018-05-09 16:14:35 +00:00
|
|
|
F: doc/guides/compressdevs/isal.rst
|
|
|
|
F: doc/guides/compressdevs/features/isal.ini
|
2018-05-09 16:14:26 +00:00
|
|
|
|
2022-09-22 14:53:52 +00:00
|
|
|
NVIDIA mlx5
|
2021-01-20 11:29:26 +00:00
|
|
|
M: Matan Azrad <matan@nvidia.com>
|
|
|
|
F: drivers/compress/mlx5/
|
|
|
|
|
2018-07-24 15:05:32 +00:00
|
|
|
ZLIB
|
2018-12-16 15:43:25 +00:00
|
|
|
M: Sunila Sahu <ssahu@marvell.com>
|
2018-07-24 15:05:32 +00:00
|
|
|
F: drivers/compress/zlib/
|
2018-07-24 15:05:36 +00:00
|
|
|
F: doc/guides/compressdevs/zlib.rst
|
|
|
|
F: doc/guides/compressdevs/features/zlib.ini
|
2018-07-24 15:05:32 +00:00
|
|
|
|
2018-05-09 16:14:26 +00:00
|
|
|
|
2021-10-20 16:29:59 +00:00
|
|
|
DMAdev Drivers
|
|
|
|
--------------
|
|
|
|
|
|
|
|
Intel IDXD - EXPERIMENTAL
|
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
|
|
|
M: Kevin Laatz <kevin.laatz@intel.com>
|
|
|
|
F: drivers/dma/idxd/
|
|
|
|
F: doc/guides/dmadevs/idxd.rst
|
|
|
|
|
2021-10-18 12:38:24 +00:00
|
|
|
Intel IOAT
|
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
|
|
|
M: Conor Walsh <conor.walsh@intel.com>
|
|
|
|
F: drivers/dma/ioat/
|
|
|
|
F: doc/guides/dmadevs/ioat.rst
|
|
|
|
|
2021-11-02 12:37:38 +00:00
|
|
|
HiSilicon DMA
|
|
|
|
M: Chengwen Feng <fengchengwen@huawei.com>
|
|
|
|
F: drivers/dma/hisilicon/
|
|
|
|
F: doc/guides/dmadevs/hisilicon.rst
|
|
|
|
|
2021-11-03 18:01:47 +00:00
|
|
|
Marvell CNXK DPI DMA
|
|
|
|
M: Radha Mohan Chintakuntla <radhac@marvell.com>
|
|
|
|
M: Veerasenareddy Burru <vburru@marvell.com>
|
|
|
|
F: drivers/dma/cnxk/
|
|
|
|
F: doc/guides/dmadevs/cnxk.rst
|
|
|
|
|
2021-11-09 04:39:06 +00:00
|
|
|
NXP DPAA DMA
|
|
|
|
M: Gagandeep Singh <g.singh@nxp.com>
|
2022-06-03 05:50:39 +00:00
|
|
|
M: Sachin Saxena <sachin.saxena@oss.nxp.com>
|
2021-11-09 04:39:06 +00:00
|
|
|
F: drivers/dma/dpaa/
|
|
|
|
F: doc/guides/dmadevs/dpaa.rst
|
|
|
|
|
2022-05-05 09:05:18 +00:00
|
|
|
NXP DPAA2 QDMA
|
2022-06-03 05:50:39 +00:00
|
|
|
M: Gagandeep Singh <g.singh@nxp.com>
|
2022-05-05 09:05:18 +00:00
|
|
|
M: Hemant Agrawal <hemant.agrawal@nxp.com>
|
|
|
|
F: drivers/dma/dpaa2/
|
|
|
|
F: doc/guides/dmadevs/dpaa2.rst
|
|
|
|
|
2021-10-20 16:29:59 +00:00
|
|
|
|
2020-07-20 06:26:05 +00:00
|
|
|
RegEx Drivers
|
|
|
|
-------------
|
|
|
|
|
2021-12-11 09:04:34 +00:00
|
|
|
Marvell OCTEON CN9K regex
|
2021-10-11 18:23:43 +00:00
|
|
|
M: Liron Himi <lironh@marvell.com>
|
2021-12-11 09:04:34 +00:00
|
|
|
F: drivers/regex/cn9k/
|
|
|
|
F: doc/guides/regexdevs/cn9k.rst
|
|
|
|
F: doc/guides/regexdevs/features/cn9k.ini
|
2020-10-13 10:10:10 +00:00
|
|
|
|
2022-09-22 14:53:52 +00:00
|
|
|
NVIDIA mlx5
|
2020-08-12 16:08:35 +00:00
|
|
|
M: Ori Kam <orika@nvidia.com>
|
2020-07-20 06:26:05 +00:00
|
|
|
F: drivers/regex/mlx5/
|
|
|
|
F: doc/guides/regexdevs/mlx5.rst
|
|
|
|
F: doc/guides/regexdevs/features/mlx5.ini
|
|
|
|
|
|
|
|
|
2020-01-09 11:00:15 +00:00
|
|
|
vDPA Drivers
|
|
|
|
------------
|
|
|
|
T: git://dpdk.org/next/dpdk-next-virtio
|
|
|
|
|
2020-01-09 11:00:17 +00:00
|
|
|
Intel ifc
|
|
|
|
M: Xiao Wang <xiao.w.wang@intel.com>
|
|
|
|
F: drivers/vdpa/ifc/
|
|
|
|
F: doc/guides/vdpadevs/ifc.rst
|
|
|
|
F: doc/guides/vdpadevs/features/ifcvf.ini
|
|
|
|
|
2022-09-22 14:53:52 +00:00
|
|
|
NVIDIA mlx5 vDPA
|
2020-08-12 16:08:35 +00:00
|
|
|
M: Matan Azrad <matan@nvidia.com>
|
|
|
|
M: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
|
2020-02-02 16:03:41 +00:00
|
|
|
F: drivers/vdpa/mlx5/
|
|
|
|
F: doc/guides/vdpadevs/mlx5.rst
|
|
|
|
F: doc/guides/vdpadevs/features/mlx5.ini
|
|
|
|
|
2021-11-03 13:57:45 +00:00
|
|
|
Xilinx sfc vDPA
|
|
|
|
M: Vijay Kumar Srivastava <vsrivast@xilinx.com>
|
|
|
|
F: drivers/vdpa/sfc/
|
|
|
|
F: doc/guides/vdpadevs/sfc.rst
|
|
|
|
F: doc/guides/vdpadevs/features/sfc.ini
|
|
|
|
|
2020-01-09 11:00:15 +00:00
|
|
|
|
2017-04-01 10:41:16 +00:00
|
|
|
Eventdev Drivers
|
|
|
|
----------------
|
2018-12-16 15:43:25 +00:00
|
|
|
M: Jerin Jacob <jerinj@marvell.com>
|
2017-04-01 10:41:16 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-eventdev
|
|
|
|
|
2018-10-10 02:50:56 +00:00
|
|
|
Cavium OCTEON TX ssovf
|
2018-12-16 15:43:25 +00:00
|
|
|
M: Jerin Jacob <jerinj@marvell.com>
|
2017-03-03 17:28:21 +00:00
|
|
|
F: drivers/event/octeontx/
|
|
|
|
F: doc/guides/eventdevs/octeontx.rst
|
|
|
|
|
2018-10-10 02:50:56 +00:00
|
|
|
Cavium OCTEON TX timvf
|
2018-12-16 15:43:25 +00:00
|
|
|
M: Pavan Nikhilesh <pbhagavatula@marvell.com>
|
2018-04-09 21:00:26 +00:00
|
|
|
F: drivers/event/octeontx/timvf_*
|
|
|
|
|
2020-11-01 23:37:41 +00:00
|
|
|
Intel DLB2
|
|
|
|
M: Timothy McDaniel <timothy.mcdaniel@intel.com>
|
|
|
|
F: drivers/event/dlb2/
|
|
|
|
F: doc/guides/eventdevs/dlb2.rst
|
|
|
|
|
2021-05-04 00:26:53 +00:00
|
|
|
Marvell cnxk
|
|
|
|
M: Pavan Nikhilesh <pbhagavatula@marvell.com>
|
|
|
|
M: Shijith Thotton <sthotton@marvell.com>
|
|
|
|
F: drivers/event/cnxk/
|
|
|
|
F: doc/guides/eventdevs/cnxk.rst
|
|
|
|
|
2018-01-16 20:43:58 +00:00
|
|
|
NXP DPAA eventdev
|
|
|
|
M: Hemant Agrawal <hemant.agrawal@nxp.com>
|
2022-06-03 05:50:39 +00:00
|
|
|
M: Sachin Saxena <sachin.saxena@oss.nxp.com>
|
2018-01-16 20:43:58 +00:00
|
|
|
F: drivers/event/dpaa/
|
2018-01-16 20:44:03 +00:00
|
|
|
F: doc/guides/eventdevs/dpaa.rst
|
2018-01-16 20:43:58 +00:00
|
|
|
|
2018-04-23 01:18:35 +00:00
|
|
|
NXP DPAA2 eventdev
|
|
|
|
M: Hemant Agrawal <hemant.agrawal@nxp.com>
|
2022-06-03 05:50:39 +00:00
|
|
|
M: Sachin Saxena <sachin.saxena@oss.nxp.com>
|
2018-04-23 01:18:35 +00:00
|
|
|
F: drivers/event/dpaa2/
|
|
|
|
F: doc/guides/eventdevs/dpaa2.rst
|
|
|
|
|
2017-04-01 10:41:16 +00:00
|
|
|
Software Eventdev PMD
|
|
|
|
M: Harry van Haaren <harry.van.haaren@intel.com>
|
|
|
|
F: drivers/event/sw/
|
|
|
|
F: doc/guides/eventdevs/sw.rst
|
2018-01-10 11:10:12 +00:00
|
|
|
F: examples/eventdev_pipeline/
|
|
|
|
F: doc/guides/sample_app_ug/eventdev_pipeline.rst
|
2017-04-01 10:41:16 +00:00
|
|
|
|
2018-09-18 12:45:05 +00:00
|
|
|
Distributed Software Eventdev PMD
|
|
|
|
M: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
|
|
|
|
F: drivers/event/dsw/
|
2018-09-18 12:45:14 +00:00
|
|
|
F: doc/guides/eventdevs/dsw.rst
|
2018-09-18 12:45:05 +00:00
|
|
|
|
2018-01-09 14:18:50 +00:00
|
|
|
Software OPDL Eventdev PMD
|
2021-04-03 10:35:11 +00:00
|
|
|
M: Liang Ma <liangma@liangbit.com>
|
2018-01-09 14:18:50 +00:00
|
|
|
M: Peter Mccarthy <peter.mccarthy@intel.com>
|
|
|
|
F: drivers/event/opdl/
|
2018-01-09 14:19:01 +00:00
|
|
|
F: doc/guides/eventdevs/opdl.rst
|
2018-01-09 14:18:50 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2021-10-17 06:53:25 +00:00
|
|
|
Baseband Drivers
|
|
|
|
----------------
|
|
|
|
|
2022-03-21 18:19:50 +00:00
|
|
|
Intel baseband
|
|
|
|
M: Nicolas Chautru <nicolas.chautru@intel.com>
|
|
|
|
T: git://dpdk.org/next/dpdk-next-crypto
|
|
|
|
F: drivers/baseband/turbo_sw/
|
|
|
|
F: doc/guides/bbdevs/turbo_sw.rst
|
|
|
|
F: doc/guides/bbdevs/features/turbo_sw.ini
|
|
|
|
F: drivers/baseband/fpga_lte_fec/
|
|
|
|
F: doc/guides/bbdevs/fpga_lte_fec.rst
|
|
|
|
F: doc/guides/bbdevs/features/fpga_lte_fec.ini
|
|
|
|
F: drivers/baseband/fpga_5gnr_fec/
|
|
|
|
F: doc/guides/bbdevs/fpga_5gnr_fec.rst
|
|
|
|
F: doc/guides/bbdevs/features/fpga_5gnr_fec.ini
|
2022-10-12 17:59:17 +00:00
|
|
|
F: drivers/baseband/acc/
|
2022-03-21 18:19:50 +00:00
|
|
|
F: doc/guides/bbdevs/acc100.rst
|
|
|
|
F: doc/guides/bbdevs/features/acc100.ini
|
2022-05-31 22:31:45 +00:00
|
|
|
F: doc/guides/bbdevs/features/acc101.ini
|
2022-10-12 17:59:18 +00:00
|
|
|
F: doc/guides/bbdevs/acc200.rst
|
|
|
|
F: doc/guides/bbdevs/features/acc200.ini
|
2022-03-21 18:19:50 +00:00
|
|
|
|
|
|
|
Null baseband
|
|
|
|
M: Nicolas Chautru <nicolas.chautru@intel.com>
|
|
|
|
T: git://dpdk.org/next/dpdk-next-crypto
|
|
|
|
F: drivers/baseband/null/
|
|
|
|
F: doc/guides/bbdevs/null.rst
|
|
|
|
F: doc/guides/bbdevs/features/null.ini
|
|
|
|
|
2021-10-17 06:53:25 +00:00
|
|
|
NXP LA12xx
|
2022-06-03 05:50:39 +00:00
|
|
|
M: Gagandeep Singh <g.singh@nxp.com>
|
2021-10-17 06:53:25 +00:00
|
|
|
M: Hemant Agrawal <hemant.agrawal@nxp.com>
|
2022-03-21 18:19:50 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-crypto
|
2021-10-17 06:53:25 +00:00
|
|
|
F: drivers/baseband/la12xx/
|
|
|
|
F: doc/guides/bbdevs/la12xx.rst
|
2022-03-21 18:19:50 +00:00
|
|
|
F: doc/guides/bbdevs/features/la12xx.ini
|
2021-10-17 06:53:25 +00:00
|
|
|
|
|
|
|
|
2021-11-16 22:50:18 +00:00
|
|
|
GPU Drivers
|
|
|
|
-----------
|
|
|
|
|
|
|
|
NVIDIA CUDA
|
|
|
|
M: Elena Agostini <eagostini@nvidia.com>
|
|
|
|
F: drivers/gpu/cuda/
|
|
|
|
F: doc/guides/gpus/cuda.rst
|
|
|
|
|
|
|
|
|
2018-05-03 16:06:07 +00:00
|
|
|
Rawdev Drivers
|
|
|
|
--------------
|
|
|
|
|
2018-05-11 08:31:30 +00:00
|
|
|
Intel FPGA
|
2018-05-11 08:31:31 +00:00
|
|
|
M: Rosen Xu <rosen.xu@intel.com>
|
2018-05-11 08:31:30 +00:00
|
|
|
M: Tianfei zhang <tianfei.zhang@intel.com>
|
2019-10-28 05:47:16 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net-intel
|
2019-07-05 09:34:00 +00:00
|
|
|
F: drivers/raw/ifpga/
|
|
|
|
F: doc/guides/rawdevs/ifpga.rst
|
2018-05-11 08:31:30 +00:00
|
|
|
|
2021-06-21 15:04:26 +00:00
|
|
|
Marvell CNXK BPHY
|
|
|
|
M: Jakub Palider <jpalider@marvell.com>
|
|
|
|
M: Tomasz Duszynski <tduszynski@marvell.com>
|
|
|
|
F: doc/guides/rawdevs/cnxk_bphy.rst
|
|
|
|
F: drivers/raw/cnxk_bphy/
|
|
|
|
|
2022-02-17 11:09:14 +00:00
|
|
|
Marvell CNXK GPIO
|
|
|
|
M: Jakub Palider <jpalider@marvell.com>
|
|
|
|
M: Tomasz Duszynski <tduszynski@marvell.com>
|
|
|
|
F: doc/guides/rawdevs/cnxk_gpio.rst
|
|
|
|
F: drivers/raw/cnxk_gpio/
|
|
|
|
|
2019-07-02 06:25:17 +00:00
|
|
|
NTB
|
|
|
|
M: Jingjing Wu <jingjing.wu@intel.com>
|
2021-10-18 06:32:44 +00:00
|
|
|
M: Junfeng Guo <junfeng.guo@intel.com>
|
2019-07-02 06:25:17 +00:00
|
|
|
F: drivers/raw/ntb/
|
|
|
|
F: doc/guides/rawdevs/ntb.rst
|
2019-07-02 06:25:21 +00:00
|
|
|
F: examples/ntb/
|
|
|
|
F: doc/guides/sample_app_ug/ntb.rst
|
2019-07-02 06:25:17 +00:00
|
|
|
|
2021-09-15 16:49:30 +00:00
|
|
|
NXP DPAA2 CMDIF
|
2022-06-03 05:50:39 +00:00
|
|
|
M: Gagandeep Singh <g.singh@nxp.com>
|
2021-09-15 16:49:30 +00:00
|
|
|
F: drivers/raw/dpaa2_cmdif/
|
|
|
|
F: doc/guides/rawdevs/dpaa2_cmdif.rst
|
|
|
|
|
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Packet processing
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
Network headers
|
2016-10-03 08:38:45 +00:00
|
|
|
M: Olivier Matz <olivier.matz@6wind.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/net/
|
2021-06-30 13:51:58 +00:00
|
|
|
F: app/test/test_cksum.c
|
2022-07-11 12:11:31 +00:00
|
|
|
F: app/test/test_cksum_perf.c
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2017-04-05 20:49:49 +00:00
|
|
|
Packet CRC
|
|
|
|
M: Jasvinder Singh <jasvinder.singh@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/net/net_crc.h
|
|
|
|
F: lib/net/rte_net_crc*
|
|
|
|
F: lib/net/net_crc_avx512.c
|
|
|
|
F: lib/net/net_crc_sse.c
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_crc.c
|
2017-04-05 20:49:49 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
IP fragmentation & reassembly
|
2022-04-21 15:20:59 +00:00
|
|
|
M: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/ip_frag/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/ip_fragment_reassembly_lib.rst
|
2020-04-20 19:25:23 +00:00
|
|
|
F: app/test/test_ipfrag.c
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/ip_fragmentation/
|
|
|
|
F: doc/guides/sample_app_ug/ip_frag.rst
|
|
|
|
F: examples/ip_reassembly/
|
|
|
|
F: doc/guides/sample_app_ug/ip_reassembly.rst
|
|
|
|
|
lib/gro: add Generic Receive Offload API framework
Generic Receive Offload (GRO) is a widely used SW-based offloading
technique to reduce per-packet processing overhead. It gains
performance by reassembling small packets into large ones. This
patchset is to support GRO in DPDK. To support GRO, this patch
implements a GRO API framework.
To enable more flexibility to applications, DPDK GRO is implemented as
a user library. Applications explicitly use the GRO library to merge
small packets into large ones. DPDK GRO provides two reassembly modes.
One is called lightweight mode, the other is called heavyweight mode.
If applications want to merge packets in a simple way and the number
of packets is relatively small, they can use the lightweight mode.
If applications need more fine-grained controls, they can choose the
heavyweight mode.
rte_gro_reassemble_burst is the main reassembly API which is used in
lightweight mode and processes N packets at a time. For applications,
performing GRO in lightweight mode is simple. They just need to invoke
rte_gro_reassemble_burst. Applications can get GROed packets as soon as
rte_gro_reassemble_burst returns.
rte_gro_reassemble is the main reassembly API which is used in
heavyweight mode and tries to merge N inputted packets with the packets
in GRO reassembly tables. For applications, performing GRO in heavyweight
mode is relatively complicated. Before performing GRO, applications need
to create a GRO context object, which keeps reassembly tables of
desired GRO types, by rte_gro_ctx_create. Then applications can use
rte_gro_reassemble to merge packets. The GROed packets are in the
reassembly tables of the GRO context object. If applications want to get
them, applications need to manually flush them by flush API.
Signed-off-by: Jiayu Hu <jiayu.hu@intel.com>
Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>
2017-07-09 05:46:44 +00:00
|
|
|
Generic Receive Offload - EXPERIMENTAL
|
|
|
|
M: Jiayu Hu <jiayu.hu@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/gro/
|
2017-08-04 09:59:16 +00:00
|
|
|
F: doc/guides/prog_guide/generic_receive_offload_lib.rst
|
lib/gro: add Generic Receive Offload API framework
Generic Receive Offload (GRO) is a widely used SW-based offloading
technique to reduce per-packet processing overhead. It gains
performance by reassembling small packets into large ones. This
patchset is to support GRO in DPDK. To support GRO, this patch
implements a GRO API framework.
To enable more flexibility to applications, DPDK GRO is implemented as
a user library. Applications explicitly use the GRO library to merge
small packets into large ones. DPDK GRO provides two reassembly modes.
One is called lightweight mode, the other is called heavyweight mode.
If applications want to merge packets in a simple way and the number
of packets is relatively small, they can use the lightweight mode.
If applications need more fine-grained controls, they can choose the
heavyweight mode.
rte_gro_reassemble_burst is the main reassembly API which is used in
lightweight mode and processes N packets at a time. For applications,
performing GRO in lightweight mode is simple. They just need to invoke
rte_gro_reassemble_burst. Applications can get GROed packets as soon as
rte_gro_reassemble_burst returns.
rte_gro_reassemble is the main reassembly API which is used in
heavyweight mode and tries to merge N inputted packets with the packets
in GRO reassembly tables. For applications, performing GRO in heavyweight
mode is relatively complicated. Before performing GRO, applications need
to create a GRO context object, which keeps reassembly tables of
desired GRO types, by rte_gro_ctx_create. Then applications can use
rte_gro_reassemble to merge packets. The GROed packets are in the
reassembly tables of the GRO context object. If applications want to get
them, applications need to manually flush them by flush API.
Signed-off-by: Jiayu Hu <jiayu.hu@intel.com>
Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>
2017-07-09 05:46:44 +00:00
|
|
|
|
2017-10-07 14:56:44 +00:00
|
|
|
Generic Segmentation Offload
|
|
|
|
M: Jiayu Hu <jiayu.hu@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/gso/
|
2017-10-07 14:56:44 +00:00
|
|
|
F: doc/guides/prog_guide/generic_segmentation_offload_lib.rst
|
|
|
|
|
2020-09-14 14:10:44 +00:00
|
|
|
IPsec
|
2022-04-21 15:20:59 +00:00
|
|
|
M: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>
|
2019-01-10 21:06:28 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-crypto
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/ipsec/
|
2020-04-23 15:25:04 +00:00
|
|
|
F: app/test/test_ipsec*
|
2019-01-10 21:06:34 +00:00
|
|
|
F: doc/guides/prog_guide/ipsec_lib.rst
|
2019-10-21 14:35:45 +00:00
|
|
|
M: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
|
2019-10-21 14:35:46 +00:00
|
|
|
F: app/test-sad/
|
2019-01-10 21:06:28 +00:00
|
|
|
|
2022-10-27 09:46:55 +00:00
|
|
|
Flow Classify - EXPERIMENTAL - UNMAINTAINED
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/flow_classify/
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_flow_classify*
|
2017-11-03 11:13:55 +00:00
|
|
|
F: doc/guides/prog_guide/flow_classify_lib.rst
|
2017-10-24 17:28:00 +00:00
|
|
|
F: examples/flow_classify/
|
2017-11-03 11:13:55 +00:00
|
|
|
F: doc/guides/sample_app_ug/flow_classify.rst
|
2017-10-24 17:28:00 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Distributor
|
2017-03-20 10:08:42 +00:00
|
|
|
M: David Hunt <david.hunt@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/distributor/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/packet_distrib_lib.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_distributor*
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/distributor/
|
|
|
|
F: doc/guides/sample_app_ug/dist_app.rst
|
|
|
|
|
2015-02-18 14:58:18 +00:00
|
|
|
Reorder
|
2015-10-21 10:50:43 +00:00
|
|
|
M: Reshma Pattan <reshma.pattan@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/reorder/
|
2015-02-18 14:58:18 +00:00
|
|
|
F: doc/guides/prog_guide/reorder_lib.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_reorder*
|
2015-02-18 14:58:18 +00:00
|
|
|
F: examples/packet_ordering/
|
|
|
|
F: doc/guides/sample_app_ug/packet_ordering.rst
|
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Hierarchical scheduler
|
2015-02-04 15:53:25 +00:00
|
|
|
M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/sched/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/qos_framework.rst
|
2021-11-04 11:03:33 +00:00
|
|
|
F: app/test/test_pie.c
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_red.c
|
|
|
|
F: app/test/test_sched.c
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/qos_sched/
|
|
|
|
F: doc/guides/sample_app_ug/qos_scheduler.rst
|
|
|
|
|
pdump: add new library for packet capture
The librte_pdump library provides a framework for
packet capturing in dpdk. The library provides set of
APIs to initialize the packet capture framework, to
enable or disable the packet capture, and to uninitialize
it.
The librte_pdump library works on a client/server model.
The server is responsible for enabling or disabling the
packet capture and the clients are responsible
for requesting the enabling or disabling of the packet
capture.
Enabling APIs are supported with port, queue, ring and
mempool parameters. Applications should pass on this information
to get the packets from the dpdk ports.
For enabling requests from applications, library creates the client
request containing the mempool, ring, port and queue information and
sends the request to the server. After receiving the request, server
registers the Rx and Tx callbacks for all the port and queues.
After the callbacks registration, registered callbacks will get the
Rx and Tx packets. Packets then will be copied to the new mbufs that
are allocated from the user passed mempool. These new mbufs then will
be enqueued to the application passed ring. Applications need to dequeue
the mbufs from the rings and direct them to the devices like
pcap vdev for viewing the packets outside of the dpdk
using the packet capture tools.
For disabling requests, library creates the client request containing
the port and queue information and sends the request to the server.
After receiving the request, server removes the Rx and Tx callback
for all the port and queues.
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-06-15 14:06:22 +00:00
|
|
|
Packet capture
|
|
|
|
M: Reshma Pattan <reshma.pattan@intel.com>
|
2021-10-20 21:42:26 +00:00
|
|
|
M: Stephen Hemminger <stephen@networkplumber.org>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/pdump/
|
pdump: add new library for packet capture
The librte_pdump library provides a framework for
packet capturing in dpdk. The library provides set of
APIs to initialize the packet capture framework, to
enable or disable the packet capture, and to uninitialize
it.
The librte_pdump library works on a client/server model.
The server is responsible for enabling or disabling the
packet capture and the clients are responsible
for requesting the enabling or disabling of the packet
capture.
Enabling APIs are supported with port, queue, ring and
mempool parameters. Applications should pass on this information
to get the packets from the dpdk ports.
For enabling requests from applications, library creates the client
request containing the mempool, ring, port and queue information and
sends the request to the server. After receiving the request, server
registers the Rx and Tx callbacks for all the port and queues.
After the callbacks registration, registered callbacks will get the
Rx and Tx packets. Packets then will be copied to the new mbufs that
are allocated from the user passed mempool. These new mbufs then will
be enqueued to the application passed ring. Applications need to dequeue
the mbufs from the rings and direct them to the devices like
pcap vdev for viewing the packets outside of the dpdk
using the packet capture tools.
For disabling requests, library creates the client request containing
the port and queue information and sends the request to the server.
After receiving the request, server removes the Rx and Tx callback
for all the port and queues.
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-06-15 14:06:22 +00:00
|
|
|
F: doc/guides/prog_guide/pdump_lib.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_pdump.*
|
2021-10-20 21:42:26 +00:00
|
|
|
F: lib/pcapng/
|
|
|
|
F: doc/guides/prog_guide/pcapng_lib.rst
|
2021-10-20 21:42:33 +00:00
|
|
|
F: app/test/test_pcapng.c
|
2016-06-15 14:06:23 +00:00
|
|
|
F: app/pdump/
|
2016-08-31 07:50:09 +00:00
|
|
|
F: doc/guides/tools/pdump.rst
|
2021-10-20 21:42:31 +00:00
|
|
|
F: app/dumpcap/
|
|
|
|
F: doc/guides/tools/dumpcap.rst
|
pdump: add new library for packet capture
The librte_pdump library provides a framework for
packet capturing in dpdk. The library provides set of
APIs to initialize the packet capture framework, to
enable or disable the packet capture, and to uninitialize
it.
The librte_pdump library works on a client/server model.
The server is responsible for enabling or disabling the
packet capture and the clients are responsible
for requesting the enabling or disabling of the packet
capture.
Enabling APIs are supported with port, queue, ring and
mempool parameters. Applications should pass on this information
to get the packets from the dpdk ports.
For enabling requests from applications, library creates the client
request containing the mempool, ring, port and queue information and
sends the request to the server. After receiving the request, server
registers the Rx and Tx callbacks for all the port and queues.
After the callbacks registration, registered callbacks will get the
Rx and Tx packets. Packets then will be copied to the new mbufs that
are allocated from the user passed mempool. These new mbufs then will
be enqueued to the application passed ring. Applications need to dequeue
the mbufs from the rings and direct them to the devices like
pcap vdev for viewing the packets outside of the dpdk
using the packet capture tools.
For disabling requests, library creates the client request containing
the port and queue information and sends the request to the server.
After receiving the request, server removes the Rx and Tx callback
for all the port and queues.
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-06-15 14:06:22 +00:00
|
|
|
|
2018-10-08 12:12:47 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Packet Framework
|
|
|
|
----------------
|
2015-02-04 15:53:25 +00:00
|
|
|
M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/pipeline/
|
|
|
|
F: lib/port/
|
|
|
|
F: lib/table/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/packet_framework.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_table*
|
2019-02-26 12:19:01 +00:00
|
|
|
F: app/test-pipeline/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/sample_app_ug/test_pipeline.rst
|
|
|
|
F: examples/ip_pipeline/
|
2020-10-01 10:20:04 +00:00
|
|
|
F: examples/pipeline/
|
2015-08-11 16:47:08 +00:00
|
|
|
F: doc/guides/sample_app_ug/ip_pipeline.rst
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
|
|
|
|
Algorithms
|
|
|
|
----------
|
|
|
|
|
|
|
|
ACL
|
2022-04-21 15:20:59 +00:00
|
|
|
M: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/acl/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/packet_classif_access_ctrl.rst
|
2019-02-26 12:19:00 +00:00
|
|
|
F: app/test-acl/
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_acl.*
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2017-01-17 22:23:51 +00:00
|
|
|
EFD
|
|
|
|
M: Byron Marohn <byron.marohn@intel.com>
|
2019-09-11 18:06:37 +00:00
|
|
|
M: Yipeng Wang <yipeng1.wang@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/efd/
|
2017-01-17 22:23:55 +00:00
|
|
|
F: doc/guides/prog_guide/efd_lib.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_efd*
|
2017-01-24 09:06:14 +00:00
|
|
|
F: examples/server_node_efd/
|
|
|
|
F: doc/guides/sample_app_ug/server_node_efd.rst
|
2017-01-17 22:23:51 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Hashes
|
2019-01-08 15:08:34 +00:00
|
|
|
M: Yipeng Wang <yipeng1.wang@intel.com>
|
|
|
|
M: Sameh Gobriel <sameh.gobriel@intel.com>
|
2015-02-06 13:57:07 +00:00
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
2021-04-19 15:59:51 +00:00
|
|
|
M: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/hash/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/hash_lib.rst
|
2021-04-19 15:59:54 +00:00
|
|
|
F: doc/guides/prog_guide/toeplitz_hash_lib.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_*hash*
|
|
|
|
F: app/test/test_func_reentrancy.c
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
LPM
|
2015-02-06 13:57:07 +00:00
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
2019-02-05 13:57:33 +00:00
|
|
|
M: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/lpm/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/lpm*
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_lpm*
|
|
|
|
F: app/test/test_func_reentrancy.c
|
|
|
|
F: app/test/test_xmmt_ops.h
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2017-10-04 03:12:19 +00:00
|
|
|
Membership - EXPERIMENTAL
|
|
|
|
M: Yipeng Wang <yipeng1.wang@intel.com>
|
|
|
|
M: Sameh Gobriel <sameh.gobriel@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/member/
|
2017-10-04 03:12:25 +00:00
|
|
|
F: doc/guides/prog_guide/member_lib.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_member*
|
2017-10-04 03:12:19 +00:00
|
|
|
|
2021-09-06 16:01:15 +00:00
|
|
|
RIB/FIB
|
2019-11-01 15:21:34 +00:00
|
|
|
M: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/rib/
|
2019-11-01 15:21:35 +00:00
|
|
|
F: app/test/test_rib*
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/fib/
|
2019-11-01 15:21:42 +00:00
|
|
|
F: app/test/test_fib*
|
2019-12-11 18:45:04 +00:00
|
|
|
F: app/test-fib/
|
2019-11-01 15:21:34 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Traffic metering
|
2015-02-04 15:53:25 +00:00
|
|
|
M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/meter/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/sample_app_ug/qos_scheduler.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_meter.c
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/qos_meter/
|
|
|
|
F: doc/guides/sample_app_ug/qos_metering.rst
|
|
|
|
|
2018-04-23 01:18:35 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Other libraries
|
|
|
|
---------------
|
|
|
|
|
|
|
|
Configuration file
|
2015-02-04 15:53:25 +00:00
|
|
|
M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/cfgfile/
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_cfgfile.c
|
|
|
|
F: app/test/test_cfgfiles/
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Interactive command line
|
2015-01-30 15:52:22 +00:00
|
|
|
M: Olivier Matz <olivier.matz@6wind.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/cmdline/
|
2019-02-26 12:18:59 +00:00
|
|
|
F: app/test-cmdline/
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_cmdline*
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/cmdline/
|
|
|
|
F: doc/guides/sample_app_ug/cmd_line.rst
|
|
|
|
|
|
|
|
Key/Value parsing
|
2015-01-30 15:52:22 +00:00
|
|
|
M: Olivier Matz <olivier.matz@6wind.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/kvargs/
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_kvargs.c
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2020-09-11 05:45:33 +00:00
|
|
|
RCU
|
2019-05-01 03:54:16 +00:00
|
|
|
M: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/rcu/
|
2019-05-02 14:53:45 +00:00
|
|
|
F: app/test/test_rcu*
|
2019-05-01 03:54:16 +00:00
|
|
|
F: doc/guides/prog_guide/rcu_lib.rst
|
|
|
|
|
2017-10-26 10:06:08 +00:00
|
|
|
PCI
|
2020-01-08 14:13:32 +00:00
|
|
|
M: Gaetan Rivet <grive@u256.net>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/pci/
|
2017-10-26 10:06:08 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
Power management
|
2017-08-04 14:07:34 +00:00
|
|
|
M: David Hunt <david.hunt@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/power/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/power_man.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_power*
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/l3fwd-power/
|
|
|
|
F: doc/guides/sample_app_ug/l3_forward_power_man.rst
|
|
|
|
F: examples/vm_power_manager/
|
|
|
|
F: doc/guides/sample_app_ug/vm_power_management.rst
|
|
|
|
|
|
|
|
Timers
|
2019-03-11 16:13:09 +00:00
|
|
|
M: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/timer/
|
2015-01-23 12:31:59 +00:00
|
|
|
F: doc/guides/prog_guide/timer_lib.rst
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_timer*
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/timer/
|
|
|
|
F: doc/guides/sample_app_ug/timer.rst
|
|
|
|
|
2015-02-24 16:33:25 +00:00
|
|
|
Job statistics
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/jobstats/
|
2015-02-24 16:33:25 +00:00
|
|
|
F: examples/l2fwd-jobstats/
|
2015-03-18 10:20:39 +00:00
|
|
|
F: doc/guides/sample_app_ug/l2_forward_job_stats.rst
|
2015-02-24 16:33:25 +00:00
|
|
|
|
2017-03-30 21:00:57 +00:00
|
|
|
Metrics
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/metrics/
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_metrics.c
|
2017-03-30 21:00:57 +00:00
|
|
|
|
2017-03-30 21:00:59 +00:00
|
|
|
Bit-rate statistics
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/bitratestats/
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_bitratestats.c
|
2017-03-30 21:00:59 +00:00
|
|
|
|
2017-03-30 21:01:01 +00:00
|
|
|
Latency statistics
|
|
|
|
M: Reshma Pattan <reshma.pattan@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/latencystats/
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_latencystats.c
|
2017-03-30 21:01:01 +00:00
|
|
|
|
2021-09-15 16:55:35 +00:00
|
|
|
Telemetry
|
2021-03-25 11:53:11 +00:00
|
|
|
M: Ciara Power <ciara.power@intel.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/telemetry/
|
2020-04-30 16:01:24 +00:00
|
|
|
F: app/test/test_telemetry*
|
2020-04-30 16:01:28 +00:00
|
|
|
F: usertools/dpdk-telemetry*
|
2018-10-27 09:17:48 +00:00
|
|
|
F: doc/guides/howto/telemetry.rst
|
2018-10-27 09:17:41 +00:00
|
|
|
|
2020-09-14 14:11:42 +00:00
|
|
|
BPF
|
2022-04-21 15:20:59 +00:00
|
|
|
M: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/bpf/
|
2019-02-26 12:19:02 +00:00
|
|
|
F: examples/bpf/
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_bpf.c
|
2022-02-10 15:03:38 +00:00
|
|
|
F: app/test-pmd/bpf_cmd.*
|
2018-05-10 10:23:11 +00:00
|
|
|
F: doc/guides/prog_guide/bpf_lib.rst
|
2018-05-10 10:23:03 +00:00
|
|
|
|
2020-04-11 14:14:00 +00:00
|
|
|
Graph - EXPERIMENTAL
|
|
|
|
M: Jerin Jacob <jerinj@marvell.com>
|
|
|
|
M: Kiran Kumar K <kirankumark@marvell.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/graph/
|
2020-04-11 14:14:27 +00:00
|
|
|
F: doc/guides/prog_guide/graph_lib.rst
|
2020-04-11 14:14:12 +00:00
|
|
|
F: app/test/test_graph*
|
2020-04-11 14:14:24 +00:00
|
|
|
M: Nithin Dabilpuram <ndabilpuram@marvell.com>
|
|
|
|
F: examples/l3fwd-graph/
|
2020-04-11 14:14:28 +00:00
|
|
|
F: doc/guides/sample_app_ug/l3_forward_graph.rst
|
2020-04-11 14:14:00 +00:00
|
|
|
|
2020-04-11 14:14:14 +00:00
|
|
|
Nodes - EXPERIMENTAL
|
|
|
|
M: Nithin Dabilpuram <ndabilpuram@marvell.com>
|
|
|
|
M: Pavan Nikhilesh <pbhagavatula@marvell.com>
|
2021-04-20 10:22:30 +00:00
|
|
|
F: lib/node/
|
2020-04-11 14:14:14 +00:00
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Test Applications
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
Unit tests framework
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/commands.c
|
2022-01-26 05:10:43 +00:00
|
|
|
F: app/test/has_hugepage.py
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/packet_burst_generator.c
|
|
|
|
F: app/test/packet_burst_generator.h
|
|
|
|
F: app/test/process.h
|
|
|
|
F: app/test/resource.*
|
|
|
|
F: app/test/test.c
|
|
|
|
F: app/test/test.h
|
|
|
|
F: app/test/test_pmd_perf.c
|
|
|
|
F: app/test/test_resource.c
|
|
|
|
F: app/test/virtual_pmd.c
|
|
|
|
F: app/test/virtual_pmd.h
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2018-10-08 12:12:44 +00:00
|
|
|
Sample packet helper functions for unit test
|
|
|
|
M: Reshma Pattan <reshma.pattan@intel.com>
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/sample_packet_forward.c
|
|
|
|
F: app/test/sample_packet_forward.h
|
2018-10-08 12:12:44 +00:00
|
|
|
|
2021-10-22 07:19:49 +00:00
|
|
|
Networking drivers testing tool
|
|
|
|
M: Aman Singh <aman.deep.singh@intel.com>
|
2022-01-07 16:54:06 +00:00
|
|
|
M: Yuying Zhang <yuying.zhang@intel.com>
|
2020-01-14 09:18:15 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-net
|
2015-01-23 12:31:59 +00:00
|
|
|
F: app/test-pmd/
|
|
|
|
F: doc/guides/testpmd_app_ug/
|
|
|
|
|
2020-06-04 13:34:58 +00:00
|
|
|
Flow performance tool
|
2020-08-12 16:08:35 +00:00
|
|
|
M: Wisam Jaddo <wisamm@nvidia.com>
|
2020-06-04 13:34:58 +00:00
|
|
|
F: app/test-flow-perf/
|
|
|
|
F: doc/guides/tools/flow-perf.rst
|
|
|
|
|
2022-11-03 12:46:11 +00:00
|
|
|
Security performance tool
|
|
|
|
M: Anoob Joseph <anoobj@marvell.com>
|
|
|
|
T: git://dpdk.org/next/dpdk-next-crypto
|
|
|
|
F: app/test-security-perf/
|
|
|
|
F: doc/guides/tools/securityperf.rst
|
|
|
|
|
2018-12-12 12:08:03 +00:00
|
|
|
Compression performance test application
|
2020-01-14 09:18:15 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-crypto
|
2018-12-12 12:08:03 +00:00
|
|
|
F: app/test-compress-perf/
|
|
|
|
F: doc/guides/tools/comp_perf.rst
|
|
|
|
|
2017-01-25 16:27:33 +00:00
|
|
|
Crypto performance test application
|
2021-01-20 17:29:30 +00:00
|
|
|
M: Ciara Power <ciara.power@intel.com>
|
2020-01-14 09:18:15 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-crypto
|
2017-01-25 16:27:33 +00:00
|
|
|
F: app/test-crypto-perf/
|
2017-01-25 16:27:35 +00:00
|
|
|
F: doc/guides/tools/cryptoperf.rst
|
2017-01-25 16:27:33 +00:00
|
|
|
|
2017-07-04 04:52:56 +00:00
|
|
|
Eventdev test application
|
2018-12-16 15:43:25 +00:00
|
|
|
M: Jerin Jacob <jerinj@marvell.com>
|
2020-01-14 09:18:15 +00:00
|
|
|
T: git://dpdk.org/next/dpdk-next-eventdev
|
2017-07-04 04:52:56 +00:00
|
|
|
F: app/test-eventdev/
|
2017-07-04 04:53:23 +00:00
|
|
|
F: doc/guides/tools/testeventdev.rst
|
2017-07-04 04:53:24 +00:00
|
|
|
F: doc/guides/tools/img/eventdev_*
|
2019-02-26 12:19:03 +00:00
|
|
|
F: app/test/test_event_ring.c
|
2017-07-04 04:52:56 +00:00
|
|
|
|
2016-11-18 17:09:26 +00:00
|
|
|
Procinfo tool
|
2015-07-15 13:11:32 +00:00
|
|
|
M: Maryam Tahhan <maryam.tahhan@intel.com>
|
2016-11-18 17:09:26 +00:00
|
|
|
M: Reshma Pattan <reshma.pattan@intel.com>
|
2018-02-16 16:53:35 +00:00
|
|
|
F: app/proc-info/
|
2016-08-31 07:50:09 +00:00
|
|
|
F: doc/guides/tools/proc_info.rst
|
2015-07-15 13:11:32 +00:00
|
|
|
|
2022-11-04 11:05:15 +00:00
|
|
|
DTS
|
|
|
|
M: Lijuan Tu <lijuan.tu@intel.com>
|
|
|
|
M: Owen Hilyard <ohilyard@iol.unh.edu>
|
|
|
|
F: dts/
|
2022-11-04 11:05:16 +00:00
|
|
|
F: devtools/dts-check-format.sh
|
2022-11-04 11:05:15 +00:00
|
|
|
F: doc/guides/tools/dts.rst
|
|
|
|
|
2015-01-23 12:31:59 +00:00
|
|
|
|
|
|
|
Other Example Applications
|
|
|
|
--------------------------
|
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
Ethtool example
|
2015-12-07 13:48:59 +00:00
|
|
|
F: examples/ethtool/
|
|
|
|
F: doc/guides/sample_app_ug/ethtool.rst
|
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
FIPS validation example
|
2022-03-07 15:13:47 +00:00
|
|
|
M: Brian Dooley <brian.dooley@intel.com>
|
2018-11-02 09:55:28 +00:00
|
|
|
F: examples/fips_validation/
|
|
|
|
F: doc/guides/sample_app_ug/fips_validation.rst
|
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
Flow filtering example
|
2020-08-12 16:08:35 +00:00
|
|
|
M: Ori Kam <orika@nvidia.com>
|
2017-11-01 09:42:37 +00:00
|
|
|
F: examples/flow_filtering/
|
|
|
|
F: doc/guides/sample_app_ug/flow_filtering.rst
|
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
Helloworld example
|
2015-03-11 10:48:07 +00:00
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/helloworld/
|
|
|
|
F: doc/guides/sample_app_ug/hello_world.rst
|
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
IPsec security gateway example
|
2017-10-18 12:06:15 +00:00
|
|
|
M: Radu Nicolau <radu.nicolau@intel.com>
|
2021-02-23 08:42:49 +00:00
|
|
|
M: Akhil Goyal <gakhil@marvell.com>
|
2016-03-11 02:12:40 +00:00
|
|
|
F: examples/ipsec-secgw/
|
|
|
|
F: doc/guides/sample_app_ug/ipsec_secgw.rst
|
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
IPv4 multicast example
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/ipv4_multicast/
|
|
|
|
F: doc/guides/sample_app_ug/ipv4_multicast.rst
|
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
L2 forwarding example
|
2015-03-11 10:48:07 +00:00
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/l2fwd/
|
|
|
|
F: doc/guides/sample_app_ug/l2_forward_real_virtual.rst
|
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
L2 forwarding with cache allocation example
|
2016-03-22 09:59:52 +00:00
|
|
|
M: Tomasz Kantecki <tomasz.kantecki@intel.com>
|
|
|
|
F: doc/guides/sample_app_ug/l2_forward_cat.rst
|
|
|
|
F: examples/l2fwd-cat/
|
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
L2 forwarding with eventdev example
|
2019-10-30 16:26:42 +00:00
|
|
|
M: Sunil Kumar Kori <skori@marvell.com>
|
|
|
|
M: Pavan Nikhilesh <pbhagavatula@marvell.com>
|
|
|
|
T: git://dpdk.org/next/dpdk-next-eventdev
|
|
|
|
F: examples/l2fwd-event/
|
2019-10-30 17:03:47 +00:00
|
|
|
F: doc/guides/sample_app_ug/l2_forward_event.rst
|
2019-10-30 16:26:42 +00:00
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
L3 forwarding example
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/l3fwd/
|
|
|
|
F: doc/guides/sample_app_ug/l3_forward.rst
|
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
Link status interrupt example
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/link_status_interrupt/
|
|
|
|
F: doc/guides/sample_app_ug/link_status_intr.rst
|
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
PTP client example
|
2019-10-15 13:45:35 +00:00
|
|
|
M: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
|
2016-03-22 09:59:52 +00:00
|
|
|
F: examples/ptpclient/
|
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
Rx/Tx callbacks example
|
2015-02-23 18:30:10 +00:00
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
|
|
|
M: John McNamara <john.mcnamara@intel.com>
|
|
|
|
F: examples/rxtx_callbacks/
|
2015-02-25 19:46:02 +00:00
|
|
|
F: doc/guides/sample_app_ug/rxtx_callbacks.rst
|
2015-02-23 18:30:10 +00:00
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
Skeleton example
|
2015-03-11 10:48:07 +00:00
|
|
|
M: Bruce Richardson <bruce.richardson@intel.com>
|
2015-02-25 19:46:01 +00:00
|
|
|
M: John McNamara <john.mcnamara@intel.com>
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/skeleton/
|
2015-02-25 19:46:01 +00:00
|
|
|
F: doc/guides/sample_app_ug/skeleton.rst
|
2015-01-23 12:31:59 +00:00
|
|
|
|
2020-10-06 07:03:02 +00:00
|
|
|
VMDq examples
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/vmdq/
|
2020-03-25 06:32:47 +00:00
|
|
|
F: doc/guides/sample_app_ug/vmdq_forwarding.rst
|
2015-01-23 12:31:59 +00:00
|
|
|
F: examples/vmdq_dcb/
|
|
|
|
F: doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst
|