mbox series

[v3,0/5] ethdev: modify field API for multiple headers

Message ID 20230522192804.3759072-1-michaelba@nvidia.com (mailing list archive)
Headers
Series ethdev: modify field API for multiple headers |

Message

Michael Baum May 22, 2023, 7:27 p.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/

v2:
 - Change "sub_level" name to "tag_index".
 - Squash PMD changes into API changes patch.
 - Remove PMD private patch from the patch-set.

v3:
 - Add TAG array API change to release notes.
 - Improve comment and documentation.

Michael Baum (5):
  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
  ethdev: add GENEVE TLV option modification support
  ethdev: add MPLS header modification support

 app/test-pmd/cmdline_flow.c            | 70 +++++++++++++++++++++++-
 doc/guides/prog_guide/rte_flow.rst     | 59 ++++++++++++++++-----
 doc/guides/rel_notes/release_23_07.rst |  7 +++
 drivers/net/mlx5/mlx5_flow_hw.c        | 22 ++++----
 lib/ethdev/rte_flow.h                  | 73 ++++++++++++++++++++++++--
 5 files changed, 203 insertions(+), 28 deletions(-)
  

Comments

Ori Kam May 23, 2023, 10:40 a.m. UTC | #1
Hi Michael,

> -----Original Message-----
> From: Michael Baum <michaelba@nvidia.com>
> Sent: Monday, May 22, 2023 10:28 PM
> To: dev@dpdk.org
> Cc: Ori Kam <orika@nvidia.com>; Aman Singh <aman.deep.singh@intel.com>;
> Yuying Zhang <yuying.zhang@intel.com>; Ferruh Yigit
> <ferruh.yigit@amd.com>; NBU-Contact-Thomas Monjalon (EXTERNAL)
> <thomas@monjalon.net>
> Subject: [PATCH v3 0/5] ethdev: modify field API for multiple headers
> 
> 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/
> 
> v2:
>  - Change "sub_level" name to "tag_index".
>  - Squash PMD changes into API changes patch.
>  - Remove PMD private patch from the patch-set.
> 
> v3:
>  - Add TAG array API change to release notes.
>  - Improve comment and documentation.
> 
> Michael Baum (5):
>   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
>   ethdev: add GENEVE TLV option modification support
>   ethdev: add MPLS header modification support
> 
>  app/test-pmd/cmdline_flow.c            | 70 +++++++++++++++++++++++-
>  doc/guides/prog_guide/rte_flow.rst     | 59 ++++++++++++++++-----
>  doc/guides/rel_notes/release_23_07.rst |  7 +++
>  drivers/net/mlx5/mlx5_flow_hw.c        | 22 ++++----
>  lib/ethdev/rte_flow.h                  | 73 ++++++++++++++++++++++++--
>  5 files changed, 203 insertions(+), 28 deletions(-)
> 
> --
> 2.25.1

Series-acked-by:  Ori Kam <orika@nvidia.com>
Best,
Ori