net/mlx5: reject jump to root table
Checks
Commit Message
Currently root table as destination is not supported.
The jump action which finally be translated to underlying root table in
rdma-core should be rejected.
Fixes: f78f747f41d0 ("net/mlx5: allow jump to group lower than current")
Cc: stable@dpdk.org
Signed-off-by: Xiaoyu Min <jackmin@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
drivers/net/mlx5/mlx5_flow_dv.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Comments
Hi,
> -----Original Message-----
> From: Xiaoyu Min <jackmin@nvidia.com>
> Sent: Tuesday, January 18, 2022 1:39 PM
> To: Matan Azrad <matan@nvidia.com>; Slava Ovsiienko
> <viacheslavo@nvidia.com>; Dekel Peled <dekelp@mellanox.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: [PATCH] net/mlx5: reject jump to root table
>
> Currently root table as destination is not supported.
> The jump action which finally be translated to underlying root table in
> rdma-core should be rejected.
>
> Fixes: f78f747f41d0 ("net/mlx5: allow jump to group lower than current")
> Cc: stable@dpdk.org
>
> Signed-off-by: Xiaoyu Min <jackmin@nvidia.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Patch applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh
@@ -4982,7 +4982,7 @@ flow_dv_validate_action_jump(struct rte_eth_dev *dev,
const struct rte_flow_attr *attributes,
bool external, struct rte_flow_error *error)
{
- uint32_t target_group, table;
+ uint32_t target_group, table = 0;
int ret = 0;
struct flow_grp_info grp_info = {
.external = !!external,
@@ -5013,6 +5013,10 @@ flow_dv_validate_action_jump(struct rte_eth_dev *dev,
RTE_FLOW_ERROR_TYPE_ACTION, NULL,
"target group must be other than"
" the current flow group");
+ if (table == 0)
+ return rte_flow_error_set(error, EINVAL,
+ RTE_FLOW_ERROR_TYPE_ACTION_CONF,
+ NULL, "root table shouldn't be destination");
return 0;
}