From: Bing Zhao Date: Thu, 29 Jul 2021 16:04:05 +0000 (+0300) Subject: net/mlx5: fix meter hierarchy validation with yellow X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=f8c42c53ce744180e1fb4203b2cf976054726360;p=dpdk.git net/mlx5: fix meter hierarchy validation with yellow In mlx5 PMD, the meter hierarchy only supports the green color. It means that a meter action can only be in the green action list. In the meanwhile, the yellow action list should be empty now. Any action for the yellow color policy will be considered invalid if the green color policy is a hierarchy. Also, the error message printing of meter hierarchy validation is fixed by removing an incorrect checking. Fixes: 4b7bf3ffb473 ("net/mlx5: support yellow in meter policy validation") Fixes: a3b7af90baba ("net/mlx5: validate meter action in policy") Signed-off-by: Bing Zhao Acked-by: Matan Azrad --- diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index 2de6b4f9e2..059bd25efc 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -17691,9 +17691,14 @@ flow_dv_validate_mtr_policy_acts(struct rte_eth_dev *dev, return -rte_mtr_error_set(error, ENOTSUP, RTE_MTR_ERROR_TYPE_METER_POLICY, - NULL, flow_err.message ? - flow_err.message : - "Meter hierarchy only supports GREEN color."); + NULL, + "Meter hierarchy only supports GREEN color."); + if (*policy_mode != MLX5_MTR_POLICY_MODE_OG) + return -rte_mtr_error_set(error, + ENOTSUP, + RTE_MTR_ERROR_TYPE_METER_POLICY, + NULL, + "No yellow policy should be provided in meter hierarchy."); mtr = act->conf; ret = flow_dv_validate_policy_mtr_hierarchy(dev, mtr->mtr_id,