DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] net/mlx5: support HW flag action
@ 2024-05-28  9:50 Shun Hao
  0 siblings, 0 replies; 3+ messages in thread
From: Shun Hao @ 2024-05-28  9:50 UTC (permalink / raw)
  To: viacheslavo, matan, orika, Dariusz Sosnowski, Suanming Mou; +Cc: dev, rasland

The HW flag action is supported by adding the tag to packet, with the
default tag value.

Signed-off-by: Shun Hao <shunh@nvidia.com>
Acked-by: Suanming Mou <suanmingm@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_hw.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
index 68c5a36bbb..fa10a591b3 100644
--- a/drivers/net/mlx5/mlx5_flow_hw.c
+++ b/drivers/net/mlx5/mlx5_flow_hw.c
@@ -2292,6 +2292,16 @@ __flow_hw_actions_translate(struct rte_eth_dev *dev,
 			}
 			acts->rule_acts[dr_pos].action = priv->hw_def_miss;
 			break;
+		case RTE_FLOW_ACTION_TYPE_FLAG:
+			acts->mark = true;
+			acts->rule_acts[dr_pos].tag.value =
+				mlx5_flow_mark_set(MLX5_FLOW_MARK_DEFAULT);
+			acts->rule_acts[dr_pos].action =
+				priv->hw_tag[!!attr->group];
+			rte_atomic_fetch_add_explicit(&priv->hws_mark_refcnt, 1,
+					rte_memory_order_relaxed);
+			flow_hw_rxq_flag_set(dev, true);
+			break;
 		case RTE_FLOW_ACTION_TYPE_MARK:
 			acts->mark = true;
 			if (masks->conf &&
@@ -6415,6 +6425,10 @@ mlx5_flow_hw_actions_validate(struct rte_eth_dev *dev,
 			if (ret < 0)
 				return ret;
 			break;
+		case RTE_FLOW_ACTION_TYPE_FLAG:
+			/* TODO: Validation logic */
+			action_flags |= MLX5_FLOW_ACTION_FLAG;
+			break;
 		case RTE_FLOW_ACTION_TYPE_MARK:
 			/* TODO: Validation logic */
 			action_flags |= MLX5_FLOW_ACTION_MARK;
@@ -6606,6 +6620,7 @@ flow_hw_actions_validate(struct rte_eth_dev *dev,
 
 static enum mlx5dr_action_type mlx5_hw_dr_action_types[] = {
 	[RTE_FLOW_ACTION_TYPE_MARK] = MLX5DR_ACTION_TYP_TAG,
+	[RTE_FLOW_ACTION_TYPE_FLAG] = MLX5DR_ACTION_TYP_TAG,
 	[RTE_FLOW_ACTION_TYPE_DROP] = MLX5DR_ACTION_TYP_DROP,
 	[RTE_FLOW_ACTION_TYPE_JUMP] = MLX5DR_ACTION_TYP_TBL,
 	[RTE_FLOW_ACTION_TYPE_QUEUE] = MLX5DR_ACTION_TYP_TIR,
-- 
2.20.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] net/mlx5: support HW flag action
  2024-05-28  9:43 Shun Hao
@ 2024-06-03 11:59 ` Raslan Darawsheh
  0 siblings, 0 replies; 3+ messages in thread
From: Raslan Darawsheh @ 2024-06-03 11:59 UTC (permalink / raw)
  To: Shun Hao, Slava Ovsiienko, Matan Azrad, Ori Kam,
	Dariusz Sosnowski, Suanming Mou
  Cc: dev

Hi,

From: Shun Hao <shunh@nvidia.com>
Sent: Tuesday, May 28, 2024 12:43 PM
To: Slava Ovsiienko; Matan Azrad; Ori Kam; Dariusz Sosnowski; Suanming Mou
Cc: dev@dpdk.org; Raslan Darawsheh
Subject: [PATCH] net/mlx5: support HW flag action

The HW flag action is supported by adding the tag to packet, with the
default tag value.

Signed-off-by: Shun Hao <shunh@nvidia.com>
Acked-by: Suanming Mou <suanmingm@nvidia.com>
---

Patch applied to next-net-mlx,

Kindest regards
Raslan Darawsheh

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] net/mlx5: support HW flag action
@ 2024-05-28  9:43 Shun Hao
  2024-06-03 11:59 ` Raslan Darawsheh
  0 siblings, 1 reply; 3+ messages in thread
From: Shun Hao @ 2024-05-28  9:43 UTC (permalink / raw)
  To: viacheslavo, matan, orika, Dariusz Sosnowski, Suanming Mou; +Cc: dev, rasland

The HW flag action is supported by adding the tag to packet, with the
default tag value.

Signed-off-by: Shun Hao <shunh@nvidia.com>
Acked-by: Suanming Mou <suanmingm@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_hw.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
index 68c5a36bbb..9274a18ae0 100644
--- a/drivers/net/mlx5/mlx5_flow_hw.c
+++ b/drivers/net/mlx5/mlx5_flow_hw.c
@@ -2292,6 +2292,15 @@ __flow_hw_actions_translate(struct rte_eth_dev *dev,
 			}
 			acts->rule_acts[dr_pos].action = priv->hw_def_miss;
 			break;
+		case RTE_FLOW_ACTION_TYPE_FLAG:
+			acts->mark = true;
+			acts->rule_acts[dr_pos].tag.value =
+				mlx5_flow_mark_set(MLX5_FLOW_MARK_DEFAULT);
+			acts->rule_acts[dr_pos].action =
+				priv->hw_tag[!!attr->group];
+			__atomic_add_fetch(&priv->hws_mark_refcnt, 1, __ATOMIC_RELAXED);
+			flow_hw_rxq_flag_set(dev, true);
+			break;
 		case RTE_FLOW_ACTION_TYPE_MARK:
 			acts->mark = true;
 			if (masks->conf &&
@@ -6415,6 +6424,10 @@ mlx5_flow_hw_actions_validate(struct rte_eth_dev *dev,
 			if (ret < 0)
 				return ret;
 			break;
+		case RTE_FLOW_ACTION_TYPE_FLAG:
+			/* TODO: Validation logic */
+			action_flags |= MLX5_FLOW_ACTION_FLAG;
+			break;
 		case RTE_FLOW_ACTION_TYPE_MARK:
 			/* TODO: Validation logic */
 			action_flags |= MLX5_FLOW_ACTION_MARK;
@@ -6606,6 +6619,7 @@ flow_hw_actions_validate(struct rte_eth_dev *dev,
 
 static enum mlx5dr_action_type mlx5_hw_dr_action_types[] = {
 	[RTE_FLOW_ACTION_TYPE_MARK] = MLX5DR_ACTION_TYP_TAG,
+	[RTE_FLOW_ACTION_TYPE_FLAG] = MLX5DR_ACTION_TYP_TAG,
 	[RTE_FLOW_ACTION_TYPE_DROP] = MLX5DR_ACTION_TYP_DROP,
 	[RTE_FLOW_ACTION_TYPE_JUMP] = MLX5DR_ACTION_TYP_TBL,
 	[RTE_FLOW_ACTION_TYPE_QUEUE] = MLX5DR_ACTION_TYP_TIR,
-- 
2.20.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-06-03 11:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-28  9:50 [PATCH] net/mlx5: support HW flag action Shun Hao
  -- strict thread matches above, loose matches on Subject: below --
2024-05-28  9:43 Shun Hao
2024-06-03 11:59 ` Raslan Darawsheh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).