DR engine support matching on GRE protocol field without MPLS supports.
So bypassing the MPLS check when DR is enabled.

Signed-off-by: Xiaoyu Min <jack...@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index dc48252791..0c6bf4114b 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -1610,6 +1610,7 @@ mlx5_flow_validate_item_gre(const struct rte_flow_item 
*item,
                 sizeof(struct rte_flow_item_gre), error);
        if (ret < 0)
                return ret;
+#ifndef HAVE_MLX5DV_DR
 #ifndef HAVE_IBV_DEVICE_MPLS_SUPPORT
        if (spec && (spec->protocol & mask->protocol))
                return rte_flow_error_set(error, ENOTSUP,
@@ -1617,6 +1618,7 @@ mlx5_flow_validate_item_gre(const struct rte_flow_item 
*item,
                                          "without MPLS support the"
                                          " specification cannot be used for"
                                          " filtering");
+#endif
 #endif
        return 0;
 }
-- 
2.21.0

Reply via email to