This patchset adds validations for flow items and actions
supplied by the user to fast path async flow API functions
implemented in mlx5 PMD.

- Patch 1: Adds the ability to generically calculate
  flow item's mask size using rte_flow_conv().
  This change is used in follow up patches to check for
  non-zero mask in pattern template.
- Patches 2-7: Prepares mlx5 PMD for adding fast path validations.
  Specifically:

  - Required functionality for validating queue indexes and
    target represented ports are extracted for reuse.
  - Additional info, required for validation, is stored in
    pattern and actions templates.
  - Introduces mlx5_fp_debug_enabled() function for checking
    if mlx5 PMD was compiled in debug mode.

- Patch 8: Introduce validations to:

  - rte_flow_async_create()
  - rte_flow_async_create_by_index()
  - rte_flow_async_actions_update()
  - rte_flow_async_destroy()

  These validations are enabled if and only if
  RTE_LIBRTE_MLX5_DEBUG macro is defined during compilation.

Depends-on: series-32087 ("net/mlx5: add match with Tx queue item")
Depends-on: series-32080 ("net/mlx5: validate HWS template items")

Dariusz Sosnowski (9):
  ethdev: support duplicating only item mask
  net/mlx5: extract target port validation
  net/mlx5: extract queue index validation
  net/mlx5: store pattern template items
  net/mlx5: store original actions in template
  net/mlx5: store expected type on indirect action
  net/mlx5: store modify field action
  common/mlx5: add debug mode indicator
  net/mlx5: add async flow operation validation

 doc/guides/rel_notes/release_24_07.rst |   1 +
 drivers/common/mlx5/mlx5_common.h      |  13 +
 drivers/net/mlx5/mlx5_flow.c           |  59 ++-
 drivers/net/mlx5/mlx5_flow.h           |  12 +
 drivers/net/mlx5/mlx5_flow_hw.c        | 620 +++++++++++++++++++++++--
 lib/ethdev/rte_flow.c                  |  15 +-
 lib/ethdev/rte_flow.h                  |  12 +
 7 files changed, 682 insertions(+), 50 deletions(-)

--
2.39.2

Reply via email to