[dpdk-dev] [PATCH] net/mlx5: fix get metadata register for E-Switch domain

Viacheslav Ovsiienko viacheslavo at mellanox.com
Thu Nov 21 18:59:42 CET 2019


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 <viacheslavo at mellanox.com>
---
 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 b488b67..65a0e65 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -364,7 +364,15 @@ enum modify_reg
 	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:
-- 
1.8.3.1



More information about the dev mailing list