DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] doc: document non-template API limitations on top of HWS
@ 2025-11-05  8:54 Maayan Kashani
  0 siblings, 0 replies; only message in thread
From: Maayan Kashani @ 2025-11-05  8:54 UTC (permalink / raw)
  To: dev
  Cc: mkashani, rasland, Bing Zhao, Dariusz Sosnowski,
	Viacheslav Ovsiienko, Ori Kam, Suanming Mou, Matan Azrad

Enhance the documentation by adding information about limitations
specific to the non-template API when used with Hardware Steering.
This update provides users with a more comprehensive understanding
of the constraints in this configuration.

Remove the previously stated limitation regarding the exclusive use
of RTE flow asynchronous APIs.

Signed-off-by: Maayan Kashani <mkashani@nvidia.com>
Acked-by: Bing Zhao <bingz@nvidia.com>
---
 doc/guides/nics/mlx5.rst | 45 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index 20056f61d60..f18d95e5537 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1363,6 +1363,8 @@ HW steering is :ref:`enabled <mlx5_dv_flow>` with ``dv_flow_en=2``.
 Reconfiguring HW steering engine is not supported.
 Any subsequent call to ``rte_flow_configure()`` with different configuration
 than initially provided will be rejected.
+Note: The application must call rte_flow_configure before creating any flow rules
+when using async API's.
 
 Limitations
 ^^^^^^^^^^^
@@ -1401,6 +1403,49 @@ Limitations
       which results in L3 encap.
    d. Only in transfer (switchdev) mode.
 
+#. When using synchronous rte_flow APIs,
+   the following limitations and considerations apply:
+
+   - Matching Restrictions:
+
+      - RTE_FLOW_ITEM_TYPE_MARK (16-bit match) is unsupported.
+        Use RTE_FLOW_ITEM_TYPE_META (32-bit match) as an alternative.
+      - RTE_FLOW_ITEM_TYPE_PORT_REPRESENTOR is unsupported.
+        Instead, use RTE_FLOW_ITEM_TYPE_TX_QUEUE and create a separate rule for each send queue.
+      - Rules created on proxy ports without explicit represented port matching will match packets from all ports.
+      - The c_rsvd0_ver field matching of GRE is not supported on group 0(Root Table).
+      - Match Field Limitations: There are limitations on size of match fields.
+        Exceeding these limitations will result in an error, unlike other flow engine
+        (dv_flow_en < 2) that handle this by creating a tree of rules.
+
+   - Actions Restrictions:
+
+      - RTE_FLOW_ACTION_TYPE_METER is not supported.
+        Use RTE_FLOW_ACTION_TYPE_METER_MARK instead.
+
+   - Flow Creation and Query:
+
+      - vtunnel offload is not supported.
+      - Transfer Flows: Creating transfer flows on representor ports is unsupported.
+      - Aging Query: Reports aged flows only once.
+      - Duplicate Rules: When updating a rule by inserting a new one and deleting the old one,
+        for non zero group,after adding the new rule, and before the deletion of the old rule,
+        the new rule will be matched, contrary to the behavior in other flow engines (dv_flow_en < 2)
+        in which the old rule will be matched.
+
+   - Port Restrictions:
+
+      - Port start/stop ordering for eswitch - app should start the proxy port before the representors
+        and stop the representor ports before the proxy port.
+      - By default, the port is configured with zeroed rte_flow_port_attr:
+        there are zero flow queues(one is created by default), no actions, and no flags set.
+        The default flow queue size for rte_flow_queue_attr is 32 (used for the internal flow queue).
+        If the application uses any configurable actions (such as meter, age, CT, or counter),
+        the system will allocate the maximum number of available actions per port.
+        To optimize memory usage, the application should call rte_flow_configure and specify only
+        the required number of actions.
+        If the application wants to modify flow queue settings, it should also use rte_flow_configure.
+
 
 .. _mlx5_bifurcated:
 
-- 
2.21.0


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-11-05  8:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-05  8:54 [PATCH] doc: document non-template API limitations on top of HWS Maayan Kashani

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).