|SUCCESS| net/mlx5: add validation for indirect actions
dpdklab at iol.unh.edu
dpdklab at iol.unh.edu
Fri Apr 17 18:30:47 CEST 2026
Test-Label: ai-code-review
Test-Status: SUCCESS
https://dpdk.org/patch/163174
_AI Code Review_
=== Patch Review: series.patch (via Claude) ===
Review date: 2026-04-17
# Review of series.patch
commit: 20260417150153.63149-1-rboussanni at gmail.com
Author: Rayane Boussanni <rboussanni at gmail.com>
Subject: [PATCH] net/mlx5: add validation for indirect actions
This patch implements missing validation logic for RSS and Connection
Tracking (ConnTrack) indirect actions in the Hardware Steering (HWS)
flow engine.
> diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
> index bca5b2769e..fc5d59be98 100644
> --- a/drivers/net/mlx5/mlx5_flow_hw.c
> +++ b/drivers/net/mlx5/mlx5_flow_hw.c
> @@ -346,6 +346,21 @@ mlx5_flow_ct_init(struct rte_eth_dev *dev,
> uint32_t nb_conn_tracks,
> uint16_t nb_queue);
>
> +static int
> +mlx5_hw_validate_action_rss(struct rte_eth_dev *dev,
> + const struct rte_flow_action *action,
> + const struct rte_flow_action *mask,
> + const struct rte_flow_actions_template_attr *attr,
> + uint64_t action_flags,
> + struct rte_flow_error *error);
> +static int
> +mlx5_hw_validate_action_conntrack(struct rte_eth_dev *dev,
> + const struct rte_flow_action *action,
> + const struct rte_flow_action *mask,
> + const struct rte_flow_actions_template_attr *attr,
> + uint64_t action_flags,
> + struct rte_flow_error *error);
> +
Does this code have incorrect indentation? The parameter lines appear to
be indented with tabs followed by spaces rather than aligning with the
opening parenthesis. The coding style guide requires continuation lines
to align with the opening delimiter.
[ ... ]
> @@ -6604,6 +6620,8 @@ flow_hw_validate_action_meter_mark(struct rte_eth_dev *dev,
> * Pointer to the indirect action.
> * @param[in] mask
> * Pointer to the indirect action mask.
> + * @param[in] attr
> + * Pointer to the action template attributes.
> * @param[in, out] action_flags
> * Holds the actions detected until now.
> * @param[in, out] fixed_cnt
> @@ -6618,6 +6636,7 @@ static int
> flow_hw_validate_action_indirect(struct rte_eth_dev *dev,
> const struct rte_flow_action *action,
> const struct rte_flow_action *mask,
> + const struct rte_flow_actions_template_attr *attr,
> uint64_t *action_flags, bool *fixed_cnt,
> struct rte_flow_error *error)
> {
> @@ -6637,11 +6656,16 @@ flow_hw_validate_action_indirect(struct rte_eth_dev *dev,
> *action_flags |= MLX5_FLOW_ACTION_METER;
> break;
> case RTE_FLOW_ACTION_TYPE_RSS:
> - /* TODO: Validation logic (same as flow_hw_actions_validate) */
> + ret = mlx5_hw_validate_action_rss(dev, action, mask, attr, *action_flags, error);
> + if (ret < 0)
> + return ret;
> *action_flags |= MLX5_FLOW_ACTION_RSS;
> break;
Does this code exceed the 79 character line length limit? The call to
mlx5_hw_validate_action_rss() appears to extend beyond column 79. Per
the coding style guide, lines should be wrapped at 79 characters.
> case RTE_FLOW_ACTION_TYPE_CONNTRACK:
> - /* TODO: Validation logic (same as flow_hw_actions_validate) */
> + ret = mlx5_hw_validate_action_conntrack(dev, action, mask, attr,
> + *action_flags, error);
Does this code have incorrect indentation? The continuation line appears
to use tabs followed by a single space for alignment. According to the
style guide, continuation lines should align parameters with the opening
parenthesis on the previous line using spaces only.
> + if (ret < 0)
> + return ret;
> *action_flags |= MLX5_FLOW_ACTION_CT;
> break;
> case RTE_FLOW_ACTION_TYPE_COUNT:
> @@ -7352,6 +7376,7 @@ mlx5_flow_hw_actions_validate(struct rte_eth_dev *dev,
> case RTE_FLOW_ACTION_TYPE_INDIRECT:
> ret = flow_hw_validate_action_indirect(dev, action,
> mask,
> + attr,
Does this code have incorrect indentation? The attr parameter line uses
tabs for indentation rather than aligning with the parameters on the
previous line. Parameters should be aligned with spaces to match the
opening parenthesis position.
> &action_flags,
> &fixed_cnt,
> error);
More information about the test-report
mailing list