Go to file
Alexander Kozyrev 24e1a5e39d app/testpmd: support modify field flow action
Add support for the RTE_FLOW_ACTION_MODIFY_FIELD to the testpmd.
Implement CLI to create the modify_field action and supply all the
needed parameters to modify an arbitrary packet field (as well as
mark, tag or metadata) with data from another field or immediate
value.

Example of the flow is the following:
flow create 0 egress group 1 pattern eth / ipv4 / udp / end
  actions modify_field op set dst_type tag dst_level 2 dst_offset 8
          src_type gtp_teid src_level 0 src_offset 0 width 16 / end

This flow copies 16 bits from the second Tag in the Tags array
into the outermost GTP TEID packet header field. 8 bits of the
Tag are skipped as indicated by the dst_offset action parameter.

op, dst_type, src_type and width are the mandatory parameters to
specify. Levels and offset are 0 by default if they are not
overridden by a user. The operation can be set, add or sub.

Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
Acked-by: Ori Kam <orika@nvidia.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2021-01-19 03:30:32 +01:00
.ci ci: enable v21 ABI checks 2020-12-14 15:34:04 +01:00
.github/workflows ci: fix package installation in GitHub Actions 2020-12-19 09:21:25 +01:00
app app/testpmd: support modify field flow action 2021-01-19 03:30:32 +01:00
buildtools build: fix linker flags on Windows 2021-01-13 22:13:37 +01:00
config cryptodev: add enqueue and dequeue callbacks 2021-01-19 18:05:44 +01:00
devtools cryptodev: add enqueue and dequeue callbacks 2021-01-19 18:05:44 +01:00
doc ethdev: introduce generic modify flow action 2021-01-19 03:30:32 +01:00
drivers net/hns3: remove unused assignment for RSS key 2021-01-19 03:30:32 +01:00
examples examples/l3fwd: remove limitation on Tx queue count 2021-01-19 13:12:59 +01:00
kernel kni: fix build on RHEL 8.3 2020-11-27 01:39:54 +01:00
lib ethdev: introduce generic modify flow action 2021-01-19 03:30:32 +01:00
license license: add licenses for exception cases 2020-12-11 12:22:19 +01:00
usertools usertools: remove dpdk-setup.sh 2020-11-27 17:25:24 +01: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: enable v21 ABI checks 2020-12-14 15:34:04 +01:00
ABI_VERSION version: 21.02-rc0 2020-11-30 10:55:22 +01:00
MAINTAINERS maintainers: update for testpmd 2021-01-19 17:11:52 +01:00
Makefile build: create dummy Makefile 2020-09-07 23:51:57 +02:00
meson_options.txt build: update meson for Marvell Armada drivers 2021-01-08 16:03:05 +01:00
meson.build examples: fix flattening directory layout on install 2020-11-12 19:33:06 +01:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 21.02-rc0 2020-11-30 10:55:22 +01: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