Skip to content

Commit 4fde3b5

Browse files
MaayanKashani1raslandarawsheh
authored andcommitted
doc: document non-template API limitations on top of HWS
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 <[email protected]> Acked-by: Bing Zhao <[email protected]>
1 parent 1eb9fb1 commit 4fde3b5

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

doc/guides/nics/mlx5.rst

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1364,6 +1364,8 @@ HW steering is :ref:`enabled <mlx5_dv_flow>` with ``dv_flow_en=2``.
13641364
Reconfiguring HW steering engine is not supported.
13651365
Any subsequent call to ``rte_flow_configure()`` with different configuration
13661366
than initially provided will be rejected.
1367+
Note: The application must call rte_flow_configure before creating any flow rules
1368+
when using async API's.
13671369

13681370
Limitations
13691371
^^^^^^^^^^^
@@ -1402,6 +1404,49 @@ Limitations
14021404
which results in L3 encap.
14031405
d. Only in transfer (switchdev) mode.
14041406

1407+
#. When using synchronous rte_flow APIs,
1408+
the following limitations and considerations apply:
1409+
1410+
- Matching Restrictions:
1411+
1412+
- RTE_FLOW_ITEM_TYPE_MARK (16-bit match) is unsupported.
1413+
Use RTE_FLOW_ITEM_TYPE_META (32-bit match) as an alternative.
1414+
- RTE_FLOW_ITEM_TYPE_PORT_REPRESENTOR is unsupported.
1415+
Instead, use RTE_FLOW_ITEM_TYPE_TX_QUEUE and create a separate rule for each send queue.
1416+
- Rules created on proxy ports without explicit represented port matching will match packets from all ports.
1417+
- The c_rsvd0_ver field matching of GRE is not supported on group 0(Root Table).
1418+
- Match Field Limitations: There are limitations on size of match fields.
1419+
Exceeding these limitations will result in an error, unlike other flow engine
1420+
(dv_flow_en < 2) that handle this by creating a tree of rules.
1421+
1422+
- Actions Restrictions:
1423+
1424+
- RTE_FLOW_ACTION_TYPE_METER is not supported.
1425+
Use RTE_FLOW_ACTION_TYPE_METER_MARK instead.
1426+
1427+
- Flow Creation and Query:
1428+
1429+
- vtunnel offload is not supported.
1430+
- Transfer Flows: Creating transfer flows on representor ports is unsupported.
1431+
- Aging Query: Reports aged flows only once.
1432+
- Duplicate Rules: When updating a rule by inserting a new one and deleting the old one,
1433+
for non zero group,after adding the new rule, and before the deletion of the old rule,
1434+
the new rule will be matched, contrary to the behavior in other flow engines (dv_flow_en < 2)
1435+
in which the old rule will be matched.
1436+
1437+
- Port Restrictions:
1438+
1439+
- Port start/stop ordering for eswitch - app should start the proxy port before the representors
1440+
and stop the representor ports before the proxy port.
1441+
- By default, the port is configured with zeroed rte_flow_port_attr:
1442+
there are zero flow queues(one is created by default), no actions, and no flags set.
1443+
The default flow queue size for rte_flow_queue_attr is 32 (used for the internal flow queue).
1444+
If the application uses any configurable actions (such as meter, age, CT, or counter),
1445+
the system will allocate the maximum number of available actions per port.
1446+
To optimize memory usage, the application should call rte_flow_configure and specify only
1447+
the required number of actions.
1448+
If the application wants to modify flow queue settings, it should also use rte_flow_configure.
1449+
14051450

14061451
.. _mlx5_bifurcated:
14071452

0 commit comments

Comments
 (0)