]> git.droids-corp.org - dpdk.git/commitdiff
net/mlx5: fix meter policy validation
authorRongwei Liu <rongweil@nvidia.com>
Tue, 2 Nov 2021 07:22:40 +0000 (09:22 +0200)
committerRaslan Darawsheh <rasland@nvidia.com>
Wed, 10 Nov 2021 14:44:42 +0000 (15:44 +0100)
When a user specifies meter policy like "g_actions queue / end
y_actions queue / r_action drop / end", validation logic missed
to set meter policy mode and it took a random value from the stack.

Define ALL policy modes for the mentioned cases.

Fixes: 4b7bf3ffb473 ("net/mlx5: support yellow in meter policy validation")
Cc: stable@dpdk.org
Signed-off-by: Rongwei Liu <rongweil@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
Reviewed-by: Bing Zhao <bingz@nvidia.com>
drivers/net/mlx5/mlx5.h
drivers/net/mlx5/mlx5_flow_dv.c

index bdadd6e02432e9ff8757b3da0db2704037386188..8466531060ec31762a29fde32da595a3ee40409d 100644 (file)
@@ -633,6 +633,8 @@ struct mlx5_dev_shared_port {
 #define MLX5_MTR_TABLE_ID_DROP 2
 /* Priority of the meter policy matcher. */
 #define MLX5_MTR_POLICY_MATCHER_PRIO 0
+/* Green & yellow color valid for now. */
+#define MLX5_MTR_POLICY_MODE_ALL 0
 /* Default policy. */
 #define MLX5_MTR_POLICY_MODE_DEF 1
 /* Only green color valid. */
index 75ed0156c301bb730af84d97b0cf988a362a98aa..fa017c552132f5bdfe1725e09ff5a0302a8f45bf 100644 (file)
@@ -17750,6 +17750,8 @@ flow_dv_validate_mtr_policy_acts(struct rte_eth_dev *dev,
                *policy_mode = MLX5_MTR_POLICY_MODE_OG;
        } else if (def_green && !def_yellow) {
                *policy_mode = MLX5_MTR_POLICY_MODE_OY;
+       } else {
+               *policy_mode = MLX5_MTR_POLICY_MODE_ALL;
        }
        /* Set to empty string in case of NULL pointer access by user. */
        flow_err.message = "";