net/mlx5: fix get metadata register for E-Switch domain

Message ID 1574359182-5270-1-git-send-email-viacheslavo@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Raslan Darawsheh
Headers
Series net/mlx5: fix get metadata register for E-Switch domain |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-compilation success Compile Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/Intel-compilation fail Compilation issues
ci/travis-robot success Travis build: passed

Commit Message

Slava Ovsiienko Nov. 21, 2019, 5:59 p.m. UTC
  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@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
  

Comments

Matan Azrad Nov. 24, 2019, 7:06 a.m. UTC | #1
From: Viacheslav Ovsiienko
> 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@mellanox.com>
> ---
Acked-by: Matan Azrad <matan@mellanox.com>
  
Raslan Darawsheh Nov. 24, 2019, 11:54 a.m. UTC | #2
Hi,

> -----Original Message-----
> From: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
> Sent: Thursday, November 21, 2019 8:00 PM
> To: dev@dpdk.org
> Cc: Matan Azrad <matan@mellanox.com>; Raslan Darawsheh
> <rasland@mellanox.com>; Ori Kam <orika@mellanox.com>
> Subject: [PATCH] net/mlx5: fix get 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 <viacheslavo@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

Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh
  

Patch

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: