doc/mlx5: update mlx5 guide

Message ID 1582567069-31948-1-git-send-email-viacheslavo@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series doc/mlx5: update mlx5 guide |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/travis-robot success Travis build: passed

Commit Message

Slava Ovsiienko Feb. 24, 2020, 5:57 p.m. UTC
  - metadata limitation is described
- no inline hint flag is described

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
---
 doc/guides/nics/mlx5.rst | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
  

Comments

Thomas Monjalon Feb. 25, 2020, 1:19 p.m. UTC | #1
24/02/2020 18:57, Viacheslav Ovsiienko:
> - metadata limitation is described
> - no inline hint flag is described
> 
> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
> ---

Split in 2 patches and applied, thanks
  

Patch

diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index dd2fbde..2542248 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -96,6 +96,8 @@  Features
   increment/decrement, count, drop, mark. For details please see :ref:`mlx5_offloads_support`.
 - Flow insertion rate of more then million flows per second, when using Direct Rules.
 - Support for multiple rte_flow groups.
+- per packet no_inline hint flag to disable packet data copying into Tx
+  descriptors.
 - Hardware LRO.
 
 Limitations
@@ -162,6 +164,9 @@  Limitations
      - msg_type
      - teid
 
+- No Tx metadata go to the E-Switch steering domain for the Flow group 0.
+  The flows within group 0 and set metadata action are rejected by hardware.
+
 .. note::
 
    MAC addresses not already present in the bridge table of the associated
@@ -185,6 +190,33 @@  Limitations
   To receive IPv6 Multicast messages on VM, explicitly set the relevant
   MAC address using rte_eth_dev_mac_addr_add() API.
 
+- to support a mixed traffic pattern (some buffers from local host memory, some
+  buffers from other devices) with high bandwidth, a hint flag is introduced in
+  the mbuf.
+
+  An application hints the PMD whether or not it should try to inline the
+  given mbuf data buffer. PMD should do the best effort to act upon this request.
+
+  The hint flag RTE_NET_MLX5_DYNFLAG_NO_INLINE_NAME is supposed to be dynamic,
+  registered by application with rte_mbuf_dynflag_register(). This flag is
+  purely vendor specific and declared in PMD specific header rte_pmd_mlx5.h,
+  which is intended to be used by specific application.
+
+  To query the supported specific flags in runtime the private routine is
+  introduced: rte_pmd_mlx5_get_dyn_flag_names. It returns the array of currently
+  (over present hardware and configuration)supported specific flags.
+  The "not inline hint" feature operating flow is the following one:
+    - application start
+    - probe the devices, ports are created
+    - query the port capabilities
+    - if port supporting the feature is found
+    - register dynamic flag RTE_NET_MLX5_DYNFLAG_NO_INLINE_NAME
+    - application starts the ports
+    - on dev_start() PMD checks whether the feature flag is registered and
+      enables the feature support in datapath
+    - application might set this flag in ol_flags field of mbuf in the
+      packets being sent and PMD will handle ones appropriately.
+
 - The amount of descriptors in Tx queue may be limited by data inline settings.
   Inline data require the more descriptor building blocks and overall block
   amount may exceed the hardware supported limits. The application should