Currently PMD doesn't allow to jump to the same group in order to avoid dead loop. But this also prevent experienced user to create flow with less Hops in order to have better performance.
For example, rules in [1] should have better performance then [2]. Furthermore, this protection will not really prevent dead loop, i.e [3]. So just remove this protection and user should take the responsibility to avoid dead loop. This patch enables jumping to the same group. [1]: flow create 0 group 1 priority 1 pattern eth / ipv4 / udp / gtp / end actions raw_decap / raw_encap / jump group 1 / end flow create 0 group 1 priority 0 pattern eth / ipv4 src is 1.0.0.1 / tcp / end actions queues index 1 / end [2]: flow create 0 group 1 priority 0 pattern eth / ipv4 / udp / gtp / end actions raw_decap / raw_encap / jump group 2 / end flow create 0 group 2 priority 0 pattern eth / ipv4 src is 1.0.0.1 / tcp / end actions queues index 1 / end [3]: flow create 0 group 1 pattern eth / end actions jump group 2 / end flow create 0 group 2 pattern eth / end actions jump group 1 / end Fixes: f78f747f41d0 ("net/mlx5: allow jump to group lower than current") Cc: dek...@mellanox.com Cc: sta...@dpdk.org Signed-off-by: Michael Baum <michae...@nvidia.com> Acked-by: Matan Azrad <ma...@nvidia.com> --- V2: change commit message to fix template. drivers/net/mlx5/mlx5_flow_dv.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index 115d730317..5d0cb4278b 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -5484,13 +5484,6 @@ flow_dv_validate_action_jump(struct rte_eth_dev *dev, &grp_info, error); if (ret) return ret; - if (attributes->group == target_group && - !(action_flags & (MLX5_FLOW_ACTION_TUNNEL_SET | - MLX5_FLOW_ACTION_TUNNEL_MATCH))) - return rte_flow_error_set(error, EINVAL, - 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, -- 2.25.1