From 8723061aa65e2d1764994d810940d61c1f5948ee Mon Sep 17 00:00:00 2001 From: Viacheslav Ovsiienko Date: Thu, 21 Nov 2019 17:59:42 +0000 Subject: [PATCH] net/mlx5: fix getting metadata register for E-Switch domain The metadata register used for META item/action within E-Switch steering domain should be altered depending on dv_xmeta_en devarg value. Fixes: 3e8edd0ef848 ("net/mlx5: update metadata register ID query") Signed-off-by: Viacheslav Ovsiienko Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_flow.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index b488b679ed..65a0e656b3 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -364,7 +364,15 @@ mlx5_flow_get_reg_id(struct rte_eth_dev *dev, case MLX5_METADATA_TX: return REG_A; case MLX5_METADATA_FDB: - return REG_C_0; + switch (config->dv_xmeta_en) { + case MLX5_XMETA_MODE_LEGACY: + return REG_NONE; + case MLX5_XMETA_MODE_META16: + return REG_C_0; + case MLX5_XMETA_MODE_META32: + return REG_C_1; + } + break; case MLX5_FLOW_MARK: switch (config->dv_xmeta_en) { case MLX5_XMETA_MODE_LEGACY: -- 2.20.1