From patchwork Mon Feb 24 17:57:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Slava Ovsiienko X-Patchwork-Id: 66014 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6D636A0524; Mon, 24 Feb 2020 18:57:55 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A40552C39; Mon, 24 Feb 2020 18:57:54 +0100 (CET) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id ED7961F1C for ; Mon, 24 Feb 2020 18:57:52 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from viacheslavo@mellanox.com) with ESMTPS (AES256-SHA encrypted); 24 Feb 2020 19:57:51 +0200 Received: from pegasus11.mtr.labs.mlnx (pegasus11.mtr.labs.mlnx [10.210.16.104]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 01OHvpKv000964 for ; Mon, 24 Feb 2020 19:57:51 +0200 Received: from pegasus11.mtr.labs.mlnx (localhost [127.0.0.1]) by pegasus11.mtr.labs.mlnx (8.14.7/8.14.7) with ESMTP id 01OHvptW031990 for ; Mon, 24 Feb 2020 17:57:51 GMT Received: (from viacheslavo@localhost) by pegasus11.mtr.labs.mlnx (8.14.7/8.14.7/Submit) id 01OHvoQv031989 for dev@dpdk.org; Mon, 24 Feb 2020 17:57:50 GMT X-Authentication-Warning: pegasus11.mtr.labs.mlnx: viacheslavo set sender to viacheslavo@mellanox.com using -f From: Viacheslav Ovsiienko To: dev@dpdk.org Date: Mon, 24 Feb 2020 17:57:49 +0000 Message-Id: <1582567069-31948-1-git-send-email-viacheslavo@mellanox.com> X-Mailer: git-send-email 1.8.3.1 Subject: [dpdk-dev] [PATCH] doc/mlx5: update mlx5 guide X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" - metadata limitation is described - no inline hint flag is described Signed-off-by: Viacheslav Ovsiienko --- doc/guides/nics/mlx5.rst | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) 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