patch 'net/mlx5: fix modify field action restriction' has been queued to stable release 24.11.4

Kevin Traynor ktraynor at redhat.com
Fri Nov 21 12:20:34 CET 2025


Hi,

FYI, your patch has been queued to stable release 24.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/26/25. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/b600419bdf0e752f19cd9eac6f123b444d74e299

Thanks.

Kevin

---
>From b600419bdf0e752f19cd9eac6f123b444d74e299 Mon Sep 17 00:00:00 2001
From: Maayan Kashani <mkashani at nvidia.com>
Date: Wed, 5 Nov 2025 10:50:49 +0200
Subject: [PATCH] net/mlx5: fix modify field action restriction

[ upstream commit 17082f45e93697dcfbe056da7f90af90362cc6b2 ]

Update DV flow engine modify field validation:
- Reject 'add' and 'sub' operations when source field is not VALUE
  or POINTER in DV flow engine.

Update documentation to clarify operation support:
- 'set' operation is supported in all modes
- 'add' operation with VALUE/POINTER source fields is
  supported in DV/HWS mode.
- Specify relevant HW supporting packet header as 'src' field.
- List supported 'dst' fields.

Fixes: 641dbe4fb053 ("net/mlx5: support modify field flow action")

Signed-off-by: Maayan Kashani <mkashani at nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski at nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_dv.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index 006684d5bd..f5dbb06cd5 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -5643,4 +5643,11 @@ flow_dv_validate_action_modify_field(struct rte_eth_dev *dev,
 	if (src_data->field != RTE_FLOW_FIELD_VALUE &&
 	    src_data->field != RTE_FLOW_FIELD_POINTER) {
+		if (conf->operation != RTE_FLOW_MODIFY_SET)
+			return rte_flow_error_set(error, ENOTSUP,
+						  RTE_FLOW_ERROR_TYPE_ACTION_CONF,
+						  &conf->operation,
+						  "modify field action type add is not"
+						  " supported when src field type is"
+						  " not value/pointer");
 		if (root)
 			return rte_flow_error_set(error, ENOTSUP,
-- 
2.51.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-11-21 11:05:11.173951191 +0000
+++ 0050-net-mlx5-fix-modify-field-action-restriction.patch	2025-11-21 11:05:09.493201297 +0000
@@ -1 +1 @@
-From 17082f45e93697dcfbe056da7f90af90362cc6b2 Mon Sep 17 00:00:00 2001
+From b600419bdf0e752f19cd9eac6f123b444d74e299 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 17082f45e93697dcfbe056da7f90af90362cc6b2 ]
+
@@ -18 +19,0 @@
-Cc: stable at dpdk.org
@@ -23,36 +24,3 @@
- doc/guides/nics/mlx5.rst        | 23 ++++++++++++++++++++++-
- drivers/net/mlx5/mlx5_flow_dv.c |  7 +++++++
- 2 files changed, 29 insertions(+), 1 deletion(-)
-
-diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
-index 8474ebf601..3eb7817f9a 100644
---- a/doc/guides/nics/mlx5.rst
-+++ b/doc/guides/nics/mlx5.rst
-@@ -3087,5 +3087,26 @@ Limitations
- ^^^^^^^^^^^
- 
--#. Supports the 'set' and 'add' operations for ``RTE_FLOW_ACTION_TYPE_MODIFY_FIELD`` action.
-+#. Supports the 'set' operation for ``RTE_FLOW_ACTION_TYPE_MODIFY_FIELD`` in all flow engines.
-+
-+#. Supports the 'add' operation with 'src' field
-+   of type ``RTE_FLOW_FIELD_VALUE`` or ``RTE_FLOW_FIELD_POINTER``
-+   with both :ref:`HW steering <mlx5_hws>` and DV flow engine (``dv_flow_en=1``).
-+
-+   HW steering flow engine, starting with ConnectX-7 and BlueField-3,
-+   supports packet header fields in 'src' field.
-+
-+   'dst' field can be any of the following:
-+
-+   - ``RTE_FLOW_FIELD_IPV4_TTL``
-+   - ``RTE_FLOW_FIELD_IPV6_HOPLIMIT``
-+   - ``RTE_FLOW_FIELD_TCP_SEQ_NUM``
-+   - ``RTE_FLOW_FIELD_TCP_ACK_NUM``
-+   - ``RTE_FLOW_FIELD_TAG``
-+   - ``RTE_FLOW_FIELD_META``
-+   - ``RTE_FLOW_FIELD_FLEX_ITEM``
-+   - ``RTE_FLOW_FIELD_TCP_DATA_OFFSET``
-+   - ``RTE_FLOW_FIELD_IPV4_IHL``
-+   - ``RTE_FLOW_FIELD_IPV4_TOTAL_LEN``
-+   - ``RTE_FLOW_FIELD_IPV6_PAYLOAD_LEN``
- 
- #. In template tables of group 0, the modify action must be fully masked.
+ drivers/net/mlx5/mlx5_flow_dv.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
@@ -60 +28 @@
-index f765f94116..95ca57e8c4 100644
+index 006684d5bd..f5dbb06cd5 100644



More information about the stable mailing list