From patchwork Wed Jan 30 11:20:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 50091 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CAA8C1B2AB; Wed, 30 Jan 2019 12:20:45 +0100 (CET) Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id 5B5511B20C for ; Wed, 30 Jan 2019 12:20:44 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 063DF2314F; Wed, 30 Jan 2019 06:20:44 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Wed, 30 Jan 2019 06:20:44 -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=mf8Rtk3VS4 FKn43sRLuh4u52YrvfcYEEE7h6GO4Y7l0=; b=AoffdqSWuamh/tU1BfFarqX7Ri 2SqATnXu2vUKl7J3Jjxwy5Oa1Bexl2yUfwPoHuJZdfrLikDgKMi483+JPmJpEVcU Fs4Y0e59QCSiNpxncxOS+4f6uybycz+3nzs76OtUgSkKA99Lk7f5NEHnq8DvyVGa NhMljFydeUzXLxYyo= 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=mf8Rtk3VS4FKn43sRLuh4u52YrvfcYEEE7h6GO4Y7l0=; b=Al3wWJGq sLCTGjBTXIPVSiV/1jQCeCtFglyC+A54RThNCV5xUlKF8rmrXrcahHVa3aK5YoMV qXBMYyPi1RFGJ4fVnyJdNcXSoY0o9ng6KDIoNBqZC6nLHcJ9WsET9/WZVCWNCK38 HiXn5OIe84pXqJWGN2CV5NsAX7YcGgcVL0u2ZwqFi1sx82+7pnlroPDBquP8RVGy HN7QgAZ9G3G8GXr1cAY979yNj8rUcNl9LCUp0dopbwdQFisE+ampMs1JR2RjFK0r 6QKX0vD+FoXf34vZFNuKNfRz2dLz5bcPExSzUqUqe3kUaRZw0oKLzXZf4B1ixjA3 RQPcPWSARstXig== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedtledrjeeggddviecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfhuthenuceurghilhhouhhtmecufedt tdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufffkffojg hfggfgsedtkeertdertddtnecuhfhrohhmpefvhhhomhgrshcuofhonhhjrghlohhnuceo thhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecukfhppeejjedrudefgedrvddtfe drudekgeenucfrrghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhho nhdrnhgvthenucevlhhushhtvghrufhiiigvpedt 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 496AFE4650; Wed, 30 Jan 2019 06:20:41 -0500 (EST) From: Thomas Monjalon To: john.mcnamara@intel.com, marko.kovacevic@intel.com, shahafs@mellanox.com, yskoh@mellanox.com, Tomasz Duszynski , Dmitri Epshtein , Natalie Samsonov , Adrien Mazarguil Cc: dev@dpdk.org Date: Wed, 30 Jan 2019 12:20:18 +0100 Message-Id: <20190130112020.871-2-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 Subject: [dpdk-dev] [PATCH 1/3] doc: remove useless anchor for flow API 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" A doc page (.rst file) can be referenced with :doc: syntax instead of :ref: to .. anchor. Signed-off-by: Thomas Monjalon --- doc/guides/howto/rte_flow.rst | 2 +- doc/guides/nics/mvpp2.rst | 2 +- doc/guides/prog_guide/rte_flow.rst | 2 -- doc/guides/rel_notes/release_17_02.rst | 3 +-- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/doc/guides/howto/rte_flow.rst b/doc/guides/howto/rte_flow.rst index 6a8534d98..3dcda6cb1 100644 --- a/doc/guides/howto/rte_flow.rst +++ b/doc/guides/howto/rte_flow.rst @@ -8,7 +8,7 @@ This document demonstrates some concrete examples for programming flow rules with the ``rte_flow`` APIs. * Detail of the rte_flow APIs can be found in the following link: - :ref:`Generic flow API ` . + :doc:`../prog_guide/rte_flow`. * Details of the TestPMD commands to set the flow rules can be found in the following link: :ref:`TestPMD Flow rules ` diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst index b2ddeab50..9dcb93dd9 100644 --- a/doc/guides/nics/mvpp2.rst +++ b/doc/guides/nics/mvpp2.rst @@ -410,7 +410,7 @@ Flow API PPv2 offers packet classification capabilities via classifier engine which can be configured via generic flow API offered by DPDK. -For an additional description please refer to DPDK :ref:`Generic flow API `. +For an additional description please refer to DPDK :doc:`../prog_guide/rte_flow`. Supported flow actions ~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst index dbf4999aa..472dcef47 100644 --- a/doc/guides/prog_guide/rte_flow.rst +++ b/doc/guides/prog_guide/rte_flow.rst @@ -2,8 +2,6 @@ Copyright 2016 6WIND S.A. Copyright 2016 Mellanox Technologies, Ltd -.. _Generic_flow_API: - Generic flow API (rte_flow) =========================== diff --git a/doc/guides/rel_notes/release_17_02.rst b/doc/guides/rel_notes/release_17_02.rst index d6c1c5670..2244d27f9 100644 --- a/doc/guides/rel_notes/release_17_02.rst +++ b/doc/guides/rel_notes/release_17_02.rst @@ -77,8 +77,7 @@ New Features higher-level than the legacy filtering framework, which it encompasses and supersedes (including all functions and filter types) . - See the :ref:`Generic flow API ` documentation for more - information. + See the :doc:`../prog_guide/rte_flow` documentation for more information. * **Added firmware version get API.** From patchwork Wed Jan 30 11:20:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 50092 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5C1701B396; Wed, 30 Jan 2019 12:20:53 +0100 (CET) Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id 0B5E11B395 for ; Wed, 30 Jan 2019 12:20:52 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 79C02221B2; Wed, 30 Jan 2019 06:20:51 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Wed, 30 Jan 2019 06:20:51 -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=jV6/ZDvIaI zwAxpaUe9+Voo15/B+fFG8mRrK86MgUlA=; b=gHQkCd8clW73mmHHfP7/e4nit7 ve3DhUhleuBdv7c6AY0x4FF5POm5Cc21VspJKsx1tn7oaobeymM9QwmqvkFDn4fA S8nkc4FK6U1radk0INYIoHvCgORvlBVCzxuKcUhjHT98BwLXbBtGp5dPM68n4Y8e o0jofPQD31++TAWmA= 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=jV6/ZDvIaIzwAxpaUe9+Voo15/B+fFG8mRrK86MgUlA=; b=M9/GDcU0 hJC0aH70L77PV6XbCvnP3fet9tQX5TUhbM4Ksy9vbHSqiv/ec0cEZiuQ0KY+lkgp YIvgDMBkjlbPx6r5mEg54WN7u7Ps++jsuZi1eJxUwU85fxcNsqM8lEm3XPoPQt6E XEODfOnjC3jiOQGNYIUIX2sYkQUkVPoRiYvfXhHuWlVKGIhr4TdCn+oV7+anBIAj 9Pg0jXmaDM2/Tia7teUzWnwryCFPL/w1SmxGBE4WAKBC1sIRJQ8IqpzyzPLmz0Zl e0B7dNmNbRmc4/0txkF93ToQmuQx0Jnli2VRoqt00u9U4T5ppZz/qYfRm4AzvXsS 8Yql5rGCTazlRQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedtledrjeeggddviecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfhuthenuceurghilhhouhhtmecufedt tdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufffkffojg hfggfgsedtkeertdertddtnecuhfhrohhmpefvhhhomhgrshcuofhonhhjrghlohhnuceo thhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecukfhppeejjedrudefgedrvddtfe drudekgeenucfrrghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhho nhdrnhgvthenucevlhhushhtvghrufhiiigvpedt 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 E7C1EE412E; Wed, 30 Jan 2019 06:20:49 -0500 (EST) From: Thomas Monjalon To: john.mcnamara@intel.com, marko.kovacevic@intel.com, shahafs@mellanox.com, yskoh@mellanox.com, Matan Azrad , Tomasz Duszynski , Dmitri Epshtein , Natalie Samsonov , Andrew Rybchenko , Adrien Mazarguil Cc: dev@dpdk.org Date: Wed, 30 Jan 2019 12:20:19 +0100 Message-Id: <20190130112020.871-3-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 Subject: [dpdk-dev] [PATCH 2/3] doc: add references to flow isolated mode in NICs 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" Some drivers (mlx, mvpp2, sfc) support the flow isolated mode, but the feature was not advertised. A reference to the feature description is added for each driver. Signed-off-by: Thomas Monjalon --- doc/guides/nics/mlx4.rst | 2 ++ doc/guides/nics/mlx5.rst | 2 +- doc/guides/nics/mvpp2.rst | 3 +++ doc/guides/nics/sfc_efx.rst | 2 ++ doc/guides/prog_guide/rte_flow.rst | 6 ++++-- 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst index 4d4842cde..4ad361a2c 100644 --- a/doc/guides/nics/mlx4.rst +++ b/doc/guides/nics/mlx4.rst @@ -46,6 +46,8 @@ This capability allows the PMD to coexist with kernel network interfaces which remain functional, although they stop receiving unicast packets as long as they share the same MAC address. +The :ref:`flow_isolated_mode` is supported. + Compiling librte_pmd_mlx4 causes DPDK to be linked against libibverbs. Configuration diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index 3f168b161..aa3a884b9 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -67,7 +67,7 @@ Features - Hardware checksum offloads. - Flow director (RTE_FDIR_MODE_PERFECT, RTE_FDIR_MODE_PERFECT_MAC_VLAN and RTE_ETH_FDIR_REJECT). -- Flow API. +- Flow API, including :ref:`flow_isolated_mode`. - Multiple process. - KVM and VMware ESX SR-IOV modes are supported. - RSS hash result is supported. diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst index 9dcb93dd9..4101d2d89 100644 --- a/doc/guides/nics/mvpp2.rst +++ b/doc/guides/nics/mvpp2.rst @@ -410,6 +410,9 @@ Flow API PPv2 offers packet classification capabilities via classifier engine which can be configured via generic flow API offered by DPDK. + +The :ref:`flow_isolated_mode` is supported. + For an additional description please refer to DPDK :doc:`../prog_guide/rte_flow`. Supported flow actions diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst index 40065284b..028c92cc3 100644 --- a/doc/guides/nics/sfc_efx.rst +++ b/doc/guides/nics/sfc_efx.rst @@ -207,6 +207,8 @@ Supported actions: Validating flow rules depends on the firmware variant. +The :ref:`flow_isolated_mode` is supported. + Ethernet destinaton individual/group match ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst index 472dcef47..0203f4f61 100644 --- a/doc/guides/prog_guide/rte_flow.rst +++ b/doc/guides/prog_guide/rte_flow.rst @@ -2557,8 +2557,10 @@ Return values: - 0 on success, a negative errno value otherwise and ``rte_errno`` is set. -Isolated mode -------------- +.. _flow_isolated_mode: + +Flow isolated mode +------------------ The general expectation for ingress traffic is that flow rules process it first; the remaining unmatched or pass-through traffic usually ends up in a From patchwork Wed Jan 30 11:20:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 50093 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E40641B3A1; Wed, 30 Jan 2019 12:20:58 +0100 (CET) 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 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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