* [dpdk-dev] [PATCH 1/3] doc: remove useless anchor for flow API guide
2019-01-30 11:20 [dpdk-dev] [PATCH 0/3] more doc about isolated mode and bifurcated model Thomas Monjalon
@ 2019-01-30 11:20 ` Thomas Monjalon
2019-01-30 11:20 ` [dpdk-dev] [PATCH 2/3] doc: add references to flow isolated mode in NICs guide Thomas Monjalon
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2019-01-30 11:20 UTC (permalink / raw)
To: john.mcnamara, marko.kovacevic, shahafs, yskoh, Tomasz Duszynski,
Dmitri Epshtein, Natalie Samsonov, Adrien Mazarguil
Cc: dev
A doc page (.rst file) can be referenced with :doc: syntax
instead of :ref: to .. anchor.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
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 <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 <testpmd_rte_flow>`
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 <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 <Generic_flow_API>` documentation for more
- information.
+ See the :doc:`../prog_guide/rte_flow` documentation for more information.
* **Added firmware version get API.**
--
2.20.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [dpdk-dev] [PATCH 2/3] doc: add references to flow isolated mode in NICs guide
2019-01-30 11:20 [dpdk-dev] [PATCH 0/3] more doc about isolated mode and bifurcated model Thomas Monjalon
2019-01-30 11:20 ` [dpdk-dev] [PATCH 1/3] doc: remove useless anchor for flow API guide Thomas Monjalon
@ 2019-01-30 11:20 ` Thomas Monjalon
2019-01-30 11:20 ` [dpdk-dev] [PATCH 3/3] doc: improve Mellanox bifurcated model description Thomas Monjalon
2019-01-31 6:58 ` [dpdk-dev] [PATCH 0/3] more doc about isolated mode and bifurcated model Shahaf Shuler
3 siblings, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2019-01-30 11:20 UTC (permalink / raw)
To: john.mcnamara, marko.kovacevic, shahafs, yskoh, Matan Azrad,
Tomasz Duszynski, Dmitri Epshtein, Natalie Samsonov,
Andrew Rybchenko, Adrien Mazarguil
Cc: 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 <thomas@monjalon.net>
---
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
--
2.20.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [dpdk-dev] [PATCH 3/3] doc: improve Mellanox bifurcated model description
2019-01-30 11:20 [dpdk-dev] [PATCH 0/3] more doc about isolated mode and bifurcated model Thomas Monjalon
2019-01-30 11:20 ` [dpdk-dev] [PATCH 1/3] doc: remove useless anchor for flow API guide Thomas Monjalon
2019-01-30 11:20 ` [dpdk-dev] [PATCH 2/3] doc: add references to flow isolated mode in NICs guide Thomas Monjalon
@ 2019-01-30 11:20 ` Thomas Monjalon
2019-01-31 6:58 ` [dpdk-dev] [PATCH 0/3] more doc about isolated mode and bifurcated model Shahaf Shuler
3 siblings, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2019-01-30 11:20 UTC (permalink / raw)
To: john.mcnamara, marko.kovacevic, shahafs, yskoh; +Cc: 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 <thomas@monjalon.net>
---
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 <bifurcated_driver>`,
+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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH 0/3] more doc about isolated mode and bifurcated model
2019-01-30 11:20 [dpdk-dev] [PATCH 0/3] more doc about isolated mode and bifurcated model Thomas Monjalon
` (2 preceding siblings ...)
2019-01-30 11:20 ` [dpdk-dev] [PATCH 3/3] doc: improve Mellanox bifurcated model description Thomas Monjalon
@ 2019-01-31 6:58 ` Shahaf Shuler
2019-01-31 17:36 ` Thomas Monjalon
3 siblings, 1 reply; 6+ messages in thread
From: Shahaf Shuler @ 2019-01-31 6:58 UTC (permalink / raw)
To: Thomas Monjalon, john.mcnamara, marko.kovacevic, Yongseok Koh; +Cc: dev
Wednesday, January 30, 2019 1:20 PM, Thomas Monjalon:
> Subject: [dpdk-dev] [PATCH 0/3] more doc about isolated mode and
> bifurcated model
>
> The flow isolated mode lacks some advertisement in the docs, especially in
> association with flow bifurcation.
> There was also a miss in flow bifurcation howto for Mellanox case.
>
> Thomas Monjalon (3):
> doc: remove useless anchor for flow API guide
> doc: add references to flow isolated mode in NICs guide
> doc: improve Mellanox bifurcated model description
For the series - Acked-by: Shahaf Shuler <shahafs@mellanox.com>
>
> doc/guides/howto/flow_bifurcation.rst | 26
> ++++++++++++++++++++++++++
> doc/guides/howto/rte_flow.rst | 2 +-
> doc/guides/linux_gsg/linux_drivers.rst | 7 ++++++-
> doc/guides/nics/mlx4.rst | 2 ++
> doc/guides/nics/mlx5.rst | 2 +-
> doc/guides/nics/mvpp2.rst | 5 ++++-
> doc/guides/nics/sfc_efx.rst | 2 ++
> doc/guides/prog_guide/rte_flow.rst | 8 ++++----
> doc/guides/rel_notes/release_17_02.rst | 3 +--
> 9 files changed, 47 insertions(+), 10 deletions(-)
>
> --
> 2.20.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH 0/3] more doc about isolated mode and bifurcated model
2019-01-31 6:58 ` [dpdk-dev] [PATCH 0/3] more doc about isolated mode and bifurcated model Shahaf Shuler
@ 2019-01-31 17:36 ` Thomas Monjalon
0 siblings, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2019-01-31 17:36 UTC (permalink / raw)
To: Shahaf Shuler; +Cc: dev, john.mcnamara, marko.kovacevic, Yongseok Koh
31/01/2019 07:58, Shahaf Shuler:
> Wednesday, January 30, 2019 1:20 PM, Thomas Monjalon:
> > Subject: [dpdk-dev] [PATCH 0/3] more doc about isolated mode and
> > bifurcated model
> >
> > The flow isolated mode lacks some advertisement in the docs, especially in
> > association with flow bifurcation.
> > There was also a miss in flow bifurcation howto for Mellanox case.
> >
> > Thomas Monjalon (3):
> > doc: remove useless anchor for flow API guide
> > doc: add references to flow isolated mode in NICs guide
> > doc: improve Mellanox bifurcated model description
>
> For the series - Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Applied
^ permalink raw reply [flat|nested] 6+ messages in thread