From: Eli Cohen <e...@nvidia.com>

Use tunnel_stateless_mpls_over_udp instead of
MLX5_FLEX_PROTO_CW_MPLS_UDP since new devices have native support for
mpls over udp and do not rely on flex parser.

Signed-off-by: Eli Cohen <e...@nvidia.com>
Reviewed-by: Roi Dayan <r...@nvidia.com>
Reviewed-by: Mark Bloch <mbl...@nvidia.com>
Signed-off-by: Saeed Mahameed <sae...@nvidia.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_mplsoudp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_mplsoudp.c 
b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_mplsoudp.c
index 1f9526244222..3479672e84cf 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_mplsoudp.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_mplsoudp.c
@@ -81,8 +81,8 @@ static int parse_tunnel(struct mlx5e_priv *priv,
        if (!enc_keyid.mask->keyid)
                return 0;
 
-       if (!(MLX5_CAP_GEN(priv->mdev, flex_parser_protocols) &
-             MLX5_FLEX_PROTO_CW_MPLS_UDP))
+       if (!MLX5_CAP_ETH(priv->mdev, tunnel_stateless_mpls_over_udp) &&
+           !(MLX5_CAP_GEN(priv->mdev, flex_parser_protocols) & 
MLX5_FLEX_PROTO_CW_MPLS_UDP))
                return -EOPNOTSUPP;
 
        flow_rule_match_mpls(rule, &match);
-- 
2.26.2

Reply via email to