mbox series

[v2,0/7] ethdev: jump to table support

Message ID 20240925180532.3958656-1-akozyrev@nvidia.com (mailing list archive)
Headers
Series ethdev: jump to table support |

Message

Alexander Kozyrev Sept. 25, 2024, 6:05 p.m. UTC
Introduce new Flow API JUMP_TO_TABLE_INDEX action.
It allows bypassing a hierarchy of groups and going directly
to a specified flow table. That gives a user the flexibility
to jump between different priorities in a group and eliminates
the need to do a table lookup in the group hierarchy.
The JUMP_TO_TABLE_INDEX action forwards a packet to the
specified rule index inside the index-based flow table.

The current index-based flow table doesn't do any matching
on the packet and executes the actions immediately.
Add a new index-based flow table with pattern matching.
The JUMP_TO_TABLE_INDEX can redirect a packet to another
matching criteria at the specified index in this case.

RFC: https://patchwork.dpdk.org/project/dpdk/patch/20240822202753.3856703-1-akozyrev@nvidia.com/
v2: added trace point to flow insertion by index functions.

Alexander Kozyrev (7):
  ethdev: add insertion by index with pattern
  app/testpmd: add index with pattern insertion type
  ethdev: add flow rule insertion by index with pattern
  app/testpmd: add insertion by index with pattern option
  ethdev: add jump to table index action
  app/testpmd: add jump to table index action
  ethdev: add trace points to flow insertion by index

 app/test-pmd/cmdline_flow.c            | 44 +++++++++++++-
 app/test-pmd/config.c                  | 22 +++++--
 app/test-pmd/testpmd.h                 |  2 +-
 doc/guides/prog_guide/rte_flow.rst     | 20 +++++++
 doc/guides/rel_notes/release_24_11.rst | 13 +++++
 lib/ethdev/ethdev_trace.h              | 44 ++++++++++++++
 lib/ethdev/ethdev_trace_points.c       |  6 ++
 lib/ethdev/rte_flow.c                  | 72 ++++++++++++++++++++++-
 lib/ethdev/rte_flow.h                  | 81 ++++++++++++++++++++++++++
 lib/ethdev/rte_flow_driver.h           | 14 +++++
 lib/ethdev/version.map                 |  1 +
 11 files changed, 309 insertions(+), 10 deletions(-)
  

Comments

Dariusz Sosnowski Sept. 25, 2024, 7:28 p.m. UTC | #1
> -----Original Message-----
> From: Alexander Kozyrev <akozyrev@nvidia.com>
> Sent: Wednesday, September 25, 2024 20:05
> To: dev@dpdk.org
> Cc: Dariusz Sosnowski <dsosnowski@nvidia.com>; Ori Kam
> <orika@nvidia.com>; NBU-Contact-Thomas Monjalon (EXTERNAL)
> <thomas@monjalon.net>; Matan Azrad <matan@nvidia.com>;
> ferruh.yigit@amd.com; stephen@networkplumber.org
> Subject: [PATCH v2 0/7] ethdev: jump to table support
> 
> Introduce new Flow API JUMP_TO_TABLE_INDEX action.
> It allows bypassing a hierarchy of groups and going directly to a specified flow
> table. That gives a user the flexibility to jump between different priorities in a
> group and eliminates the need to do a table lookup in the group hierarchy.
> The JUMP_TO_TABLE_INDEX action forwards a packet to the specified rule
> index inside the index-based flow table.
> 
> The current index-based flow table doesn't do any matching on the packet and
> executes the actions immediately.
> Add a new index-based flow table with pattern matching.
> The JUMP_TO_TABLE_INDEX can redirect a packet to another matching criteria
> at the specified index in this case.
> 
> RFC:
> https://patchwork.dpdk.org/project/dpdk/patch/20240822202753.3856703-
> 1-akozyrev@nvidia.com/
> v2: added trace point to flow insertion by index functions.
> 
> Alexander Kozyrev (7):
>   ethdev: add insertion by index with pattern
>   app/testpmd: add index with pattern insertion type
>   ethdev: add flow rule insertion by index with pattern
>   app/testpmd: add insertion by index with pattern option
>   ethdev: add jump to table index action
>   app/testpmd: add jump to table index action
>   ethdev: add trace points to flow insertion by index
> 
>  app/test-pmd/cmdline_flow.c            | 44 +++++++++++++-
>  app/test-pmd/config.c                  | 22 +++++--
>  app/test-pmd/testpmd.h                 |  2 +-
>  doc/guides/prog_guide/rte_flow.rst     | 20 +++++++
>  doc/guides/rel_notes/release_24_11.rst | 13 +++++
>  lib/ethdev/ethdev_trace.h              | 44 ++++++++++++++
>  lib/ethdev/ethdev_trace_points.c       |  6 ++
>  lib/ethdev/rte_flow.c                  | 72 ++++++++++++++++++++++-
>  lib/ethdev/rte_flow.h                  | 81 ++++++++++++++++++++++++++
>  lib/ethdev/rte_flow_driver.h           | 14 +++++
>  lib/ethdev/version.map                 |  1 +
>  11 files changed, 309 insertions(+), 10 deletions(-)
> 
> --
> 2.18.2

Series-acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>

Best regards,
Dariusz Sosnowski
  
Ferruh Yigit Sept. 27, 2024, 1:51 a.m. UTC | #2
On 9/25/2024 7:05 PM, Alexander Kozyrev wrote:
> Introduce new Flow API JUMP_TO_TABLE_INDEX action.
> It allows bypassing a hierarchy of groups and going directly
> to a specified flow table. That gives a user the flexibility
> to jump between different priorities in a group and eliminates
> the need to do a table lookup in the group hierarchy.
> The JUMP_TO_TABLE_INDEX action forwards a packet to the
> specified rule index inside the index-based flow table.
> 
> The current index-based flow table doesn't do any matching
> on the packet and executes the actions immediately.
> Add a new index-based flow table with pattern matching.
> The JUMP_TO_TABLE_INDEX can redirect a packet to another
> matching criteria at the specified index in this case.
> 
> RFC: https://patchwork.dpdk.org/project/dpdk/patch/20240822202753.3856703-1-
> akozyrev@nvidia.com/
> v2: added trace point to flow insertion by index functions.
> 
> Alexander Kozyrev (7):
>   ethdev: add insertion by index with pattern
>   app/testpmd: add index with pattern insertion type
>   ethdev: add flow rule insertion by index with pattern
>   app/testpmd: add insertion by index with pattern option
>   ethdev: add jump to table index action
>   app/testpmd: add jump to table index action
>   ethdev: add trace points to flow insertion by index
>

Series applied to dpdk-next-net/main, thanks.