Go to file
Bing Zhao 3f90d1a00a net/mlx5: change hairpin ingress flow validation
In the current implementation of the single port hairpin, there is
an implicit splitting process for actions. When inserting a hairpin
flow, all the actions will be included with the ingress attribute.
The flow engine will check and decide which actions should be moved
into the TX flow part, e.g., encapsulation, VLAN push.

In some NICs, some actions can only be done in one direction. Since
the hairpin flow will be split into two parts, such validation will
be skipped.

With the hairpin explicit TX flow mode, no splitting is needed any
more. The hairpin flow may have no big difference from a standard
flow (except the queue). The application should take full charge of
the actions and the flow engine should validate the hairpin flow in
the same way as other flows.

In the meanwhile, a new internal API is added to get the hairpin
configuration. This will bypass the useless atomic operation to save
the CPU cycles.

Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
2020-11-03 23:35:04 +01:00
.ci ci: reduce examples in static builds 2020-04-17 23:34:08 +02:00
app app/testpmd: fix RSS key for flow API RSS rule 2020-11-03 23:24:26 +01:00
buildtools pmdinfogen: fix build with gcc 11 2020-10-08 12:45:54 +02:00
config config/arm: add Graviton2 2020-11-03 21:01:02 +01:00
devtools build: replace use of old build macros 2020-10-19 22:15:44 +02:00
doc net/bnxt: set thread safe flow ops flag 2020-11-03 23:35:03 +01:00
drivers net/mlx5: change hairpin ingress flow validation 2020-11-03 23:35:04 +01:00
examples examples/vhost: support vhost async data path 2020-11-03 23:24:26 +01:00
kernel kni: move header file from EAL 2020-10-31 16:13:10 +01:00
lib ethdev: move non-offload capabilities 2020-11-03 23:35:02 +01:00
license eal: move OS-specific sub-directories 2020-03-31 13:08:55 +02:00
usertools usertools: add OCTEON TX2 REE device binding 2020-10-14 10:41:26 +02:00
.editorconfig devtools: add EditorConfig file 2020-02-22 21:05:22 +01:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore regex/mlx5: introduce driver for BlueField 2 2020-07-21 19:04:05 +02:00
.travis.yml ci: add tests jobs in aarch64 vm 2020-09-30 21:52:54 +02:00
ABI_VERSION version: 20.11-rc0 2020-08-12 11:32:16 +02:00
MAINTAINERS net/txgbe: add build and doc infrastructure 2020-11-03 23:24:26 +01:00
Makefile build: create dummy Makefile 2020-09-07 23:51:57 +02:00
meson_options.txt trace: introduce new subsystem 2020-04-23 15:39:06 +02:00
meson.build build: check AVX512 rather than binutils version 2020-07-05 21:32:40 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 20.11-rc1 2020-10-20 16:38:46 +02:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org