[PATCH 0/9] net/mlx5: flow fast path validation
Dariusz Sosnowski
dsosnowski at nvidia.com
Wed Jun 5 20:34:10 CEST 2024
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
More information about the dev
mailing list