Two masks were compared instead of verifying the spec was included in the
supported mask.

Fixes: 2097d0d1e2cc ("net/mlx5: support basic flow items and actions")
Cc: sta...@dpdk.org

Signed-off-by: Nelio Laranjeiro <nelio.laranje...@6wind.com>
Acked-by: Yongseok Koh <ys...@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index c56ef54cf..01e290484 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -529,7 +529,7 @@ mlx5_flow_item_validate(const struct rte_flow_item *item,
        }
        if (item->mask) {
                unsigned int i;
-               const uint8_t *spec = item->mask;
+               const uint8_t *spec = item->spec;
 
                for (i = 0; i < size; ++i)
                        if ((spec[i] | mask[i]) != mask[i])
-- 
2.11.0

Reply via email to