From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id 5995F1B3A1 for ; Wed, 30 Jan 2019 12:20:57 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 8D2E723149; Wed, 30 Jan 2019 06:20:56 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Wed, 30 Jan 2019 06:20:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=mesmtp; bh=cJ1OJiWDx7 3fycV6WZzKuU9LA+3KE/LSD8pgtrnf6WA=; b=hKFBuNyCvVt4BLsokFHQlsUgbN MgjzbWECSUOO8DNYjk9Sq77LR100fJI6rOVvq9f9ebalAcK3qxp3uWGXB24ewq8r PO6S6FT2kEuaVb6HbZyrSp4iLYhoGB5+ROVb3Q33mEyYh9flYzcs7nkjg1n4VcWt o/we3hx3CVB3AqqOE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=cJ1OJiWDx73fycV6WZzKuU9LA+3KE/LSD8pgtrnf6WA=; b=QWaSQRwJ De27PHLN1S89woA+vFx9EfR34PKqLXdigFsRCC8wBdDhR+zxRsk3uBj7MZ9/NjYg v38vjafOSLWwtyhbfHFBuezLW1PgwSBFNVTC1olQOwXY++Ej+Cf2Stl1wdGIFCpF QiiBFBPAP7dm8YY0sCMoXo1B1kSfEDV54jWpfmMrTB9jAWtj2lkkebHNF9hDYj+M zpmHpPkmFxCtxeR2oD3xkJon+YxDqGbVhBypZGNnp4gLEO9J/gw0pR0IWi0XGCCn 0qEfYzSx5GBzsgTwliOtIc1sUC85n8OtKUzQuCQFH/XZlVddQof8oo7hsGTp6uWM 5AQcTbOoJ9uC+w== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedtledrjeeggddviecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfhuthenuceurghilhhouhhtmecufedt tdenucenucfjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepvf hhohhmrghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvght qeenucfkphepjeejrddufeegrddvtdefrddukeegnecurfgrrhgrmhepmhgrihhlfhhroh hmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtnecuvehluhhsthgvrhfuihiivgep td X-ME-Proxy: Received: from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 7CA48E4536; Wed, 30 Jan 2019 06:20:55 -0500 (EST) From: Thomas Monjalon To: john.mcnamara@intel.com, marko.kovacevic@intel.com, shahafs@mellanox.com, yskoh@mellanox.com Cc: dev@dpdk.org Date: Wed, 30 Jan 2019 12:20:20 +0100 Message-Id: <20190130112020.871-4-thomas@monjalon.net> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190130112020.871-1-thomas@monjalon.net> References: <20190130112020.871-1-thomas@monjalon.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH 3/3] doc: improve Mellanox bifurcated model description 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: , X-List-Received-Date: Wed, 30 Jan 2019 11:20:57 -0000 In the howto guide about flow bifurcation, the Mellanox case (which does not require specific details) was missing in the landscape. In the Linux drivers guide, it was not clear that the flow bifurcation is performed in the NIC hardware. References to flow isolated mode are also inserted in those contexts. Signed-off-by: Thomas Monjalon --- doc/guides/howto/flow_bifurcation.rst | 26 ++++++++++++++++++++++++++ doc/guides/linux_gsg/linux_drivers.rst | 7 ++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/doc/guides/howto/flow_bifurcation.rst b/doc/guides/howto/flow_bifurcation.rst index eabf4d730..a36126472 100644 --- a/doc/guides/howto/flow_bifurcation.rst +++ b/doc/guides/howto/flow_bifurcation.rst @@ -44,6 +44,32 @@ module. Flow Bifurcation Overview +Using Flow Bifurcation on Mellanox ConnectX +------------------------------------------- + +The Mellanox devices are :ref:`natively bifurcated `, +so there is no need to split into SR-IOV PF/VF +in order to get the flow bifurcation mechanism. +The full device is already shared with the kernel driver. + +The DPDK application can setup some flow steering rules, +and let the rest go to the kernel stack. +In order to define the filters strictly with flow rules, +the :ref:`flow_isolated_mode` can be configured. + +There is no specific instructions to follow. +The recommended reading is the :doc:`../prog_guide/rte_flow` guide. +Below is an example of testpmd commands +for receiving VXLAN 42 in 4 queues of the DPDK port 0, +while all other packets go to the kernel: + +.. code-block:: console + + testpmd> flow isolate 0 true + testpmd> flow create 0 ingress pattern eth / ipv4 / udp / vxlan vni is 42 / end \ + actions rss queues 0 1 2 3 end / end + + Using Flow Bifurcation on IXGBE in Linux ---------------------------------------- diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst index 8da6a31be..695edbb13 100644 --- a/doc/guides/linux_gsg/linux_drivers.rst +++ b/doc/guides/linux_gsg/linux_drivers.rst @@ -85,6 +85,8 @@ This can be done by using the DPDK setup script (called dpdk-setup.sh and locate VFIO can be used without IOMMU. While this is just as unsafe as using UIO, it does make it possible for the user to keep the degree of device access and programming that VFIO has, in situations where IOMMU is not available. +.. _bifurcated_driver: + Bifurcated Driver ----------------- @@ -99,7 +101,10 @@ Such model has the following benefits: - It enables the user to use legacy linux tools such as ``ethtool`` or ``ifconfig`` while running DPDK application on the same network ports. - It enables the DPDK application to filter only part of the traffic, - While the rest will be directed and handled by the kernel driver. + while the rest will be directed and handled by the kernel driver. + The flow bifurcation is performed by the NIC hardware. + As an example, using :ref:`flow_isolated_mode` allows to choose + strictly what is received in DPDK. More about the bifurcated driver can be found in `Mellanox Bifurcated DPDK PMD -- 2.20.1