mbox

[v1,0/7] ethdev: modify field API for multiple headers

Message ID 20230516063747.3047758-1-michaelba@nvidia.com (mailing list archive)
Headers

Message

Michael Baum May 16, 2023, 6:37 a.m. UTC
  This patch-set extend the modify field action API to support both
multiple MPLS and GENEVE option headers.

In current API, the header type is provided by rte_flow_field_id
enumeration and the encapsulation level (inner/outer/tunnel) is
specified by data.level field.
However, there is no way to specify header inside encapsulation level.

For example, for this packet:

eth / mpls / mpls / mpls / ipv4 / udp
the both second and third MPLS headers cannot be modified using this
API.

RFC:
https://patchwork.dpdk.org/project/dpdk/cover/20230420092145.522389-1-michaelba@nvidia.com/

Michael Baum (7):
  doc: fix blank lines in modify field action description
  doc: fix blank line in asynchronous operations description
  doc: fix wrong indentation in RSS action description
  net/mlx5: reduce modify field encapsulation level size
  ethdev: add GENEVE TLV option modification support
  ethdev: add MPLS header modification support
  net/mlx5: add MPLS modify field support

 app/test-pmd/cmdline_flow.c            | 70 ++++++++++++++++++++++++-
 doc/guides/prog_guide/rte_flow.rst     | 38 +++++++++++---
 doc/guides/rel_notes/release_23_07.rst |  3 ++
 drivers/common/mlx5/mlx5_prm.h         |  5 ++
 drivers/net/mlx5/mlx5_flow_dv.c        | 23 ++++++++
 drivers/net/mlx5/mlx5_flow_hw.c        | 38 +++++++-------
 lib/ethdev/rte_flow.h                  | 72 ++++++++++++++++++++++++--
 7 files changed, 219 insertions(+), 30 deletions(-)