[dpdk-dev] [PATCH] net/mlx5: fix the size of tcp flags for modify actions

Wisam Jaddo wisamm at nvidia.com
Wed Apr 28 12:29:07 CEST 2021


>From RFC the size of the TCP flags is 9, while the defined
current size is 6.

Fixes: 641dbe4fb053 ("net/mlx5: support modify field flow action")
Cc: akozyrev at nvidia.com
Cc: stable at dpdk.org

Signed-off-by: Wisam Jaddo <wisamm at nvidia.com>
Reviewed-by: Alexander Kozyrev <akozyrev at nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_dv.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index d810466242..43e929b892 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -1366,7 +1366,7 @@ mlx5_flow_item_field_width(enum rte_flow_field_id field)
 	case RTE_FLOW_FIELD_TCP_ACK_NUM:
 		return 32;
 	case RTE_FLOW_FIELD_TCP_FLAGS:
-		return 6;
+		return 9;
 	case RTE_FLOW_FIELD_UDP_PORT_SRC:
 	case RTE_FLOW_FIELD_UDP_PORT_DST:
 		return 16;
@@ -1688,10 +1688,10 @@ mlx5_flow_field_id_to_modify_info
 						     (32 - width));
 		break;
 	case RTE_FLOW_FIELD_TCP_FLAGS:
-		info[idx] = (struct field_modify_info){1, 0,
+		info[idx] = (struct field_modify_info){2, 0,
 					MLX5_MODI_OUT_TCP_FLAGS};
 		if (mask)
-			mask[idx] = 0x3f >> (6 - width);
+			mask[idx] = rte_cpu_to_be_16(0x1ff >> (9 - width));
 		break;
 	case RTE_FLOW_FIELD_UDP_PORT_SRC:
 		info[idx] = (struct field_modify_info){2, 0,
-- 
2.17.1



More information about the dev mailing list