@@ -1364,6 +1364,8 @@ HW steering is :ref:`enabled <mlx5_dv_flow>` with ``dv_flow_en=2``.
13641364Reconfiguring HW steering engine is not supported.
13651365Any subsequent call to ``rte_flow_configure() `` with different configuration
13661366than 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
13681370Limitations
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