doc: relate bifurcated driver and flow isolated mode

Message ID 20220914213005.225022-1-thomas@monjalon.net (mailing list archive)
State Accepted, archived
Delegated to: Andrew Rybchenko
Headers
Series doc: relate bifurcated driver and flow isolated mode |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/Intel-compilation fail Compilation issues
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/github-robot: build success github build: passed
ci/intel-Testing success Testing PASS

Commit Message

Thomas Monjalon Sept. 14, 2022, 9:30 p.m. UTC
  The relation between the isolated mode in ethdev flow API
and bifurcated driver behaviour was not clearly explained.

It is made clear in the how-to guide that isolated mode is required
for flow bifurcation to the kernel.
On the other side, the impact of the isolated mode on a bifurcated
driver is made more explicit.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 doc/guides/howto/flow_bifurcation.rst | 3 ++-
 lib/ethdev/rte_flow.h                 | 4 ++++
 2 files changed, 6 insertions(+), 1 deletion(-)
  

Comments

Dariusz Sosnowski Sept. 20, 2022, 8:48 a.m. UTC | #1
Hi Thomas,

> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Wednesday, September 14, 2022 23:30
> To: dev@dpdk.org
> Cc: Michael Savisko <michaelsav@nvidia.com>; Slava Ovsiienko
> <viacheslavo@nvidia.com>; Matan Azrad <matan@nvidia.com>; Dariusz
> Sosnowski <dsosnowski@nvidia.com>; Asaf Penso <asafp@nvidia.com>; Ori
> Kam <orika@nvidia.com>; Ferruh Yigit <ferruh.yigit@xilinx.com>; Andrew
> Rybchenko <andrew.rybchenko@oktetlabs.ru>
> Subject: [PATCH] doc: relate bifurcated driver and flow isolated mode
> 
> External email: Use caution opening links or attachments
> 
> 
> The relation between the isolated mode in ethdev flow API and bifurcated
> driver behaviour was not clearly explained.
> 
> It is made clear in the how-to guide that isolated mode is required for flow
> bifurcation to the kernel.
> On the other side, the impact of the isolated mode on a bifurcated driver is
> made more explicit.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
>  doc/guides/howto/flow_bifurcation.rst | 3 ++-
>  lib/ethdev/rte_flow.h                 | 4 ++++
>  2 files changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/doc/guides/howto/flow_bifurcation.rst
> b/doc/guides/howto/flow_bifurcation.rst
> index 7ba66b9003..79cf4f1e64 100644
> --- a/doc/guides/howto/flow_bifurcation.rst
> +++ b/doc/guides/howto/flow_bifurcation.rst
> @@ -55,7 +55,8 @@ 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.
> +the :ref:`flow_isolated_mode` must be configured, so there is no
> +default rule routing traffic to userspace.
> 
>  There is no specific instructions to follow.
>  The recommended reading is the :doc:`../prog_guide/rte_flow` guide.
> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index
> a79f1e7ef0..1bac3fd9ec 100644
> --- a/lib/ethdev/rte_flow.h
> +++ b/lib/ethdev/rte_flow.h
> @@ -4254,6 +4254,10 @@ rte_flow_query(uint16_t port_id,
>   *
>   * Isolated mode guarantees that all ingress traffic comes from defined flow
>   * rules only (current and future).
> + * When enabled with a bifurcated driver,
> + * non-matched packets are routed to the kernel driver interface.
> + * When disabled (the default),
> + * there may be some default rules routing traffic to the DPDK port.
>   *
>   * Besides making ingress more deterministic, it allows PMDs to safely reuse
>   * resources otherwise assigned to handle the remaining traffic, such as
> --
> 2.36.1

Looks good to me. Thank you.

Reviewed-by: Dariusz Sosnowski <dsosnowski@nvidia.com>

Best regards,
Dariusz Sosnowski
  
Ori Kam Sept. 20, 2022, 10:56 a.m. UTC | #2
Hi,

> -----Original Message-----
> From: Dariusz Sosnowski <dsosnowski@nvidia.com>
> Sent: Tuesday, 20 September 2022 11:49
> 
> Hi Thomas,
> 
> > -----Original Message-----
> > From: Thomas Monjalon <thomas@monjalon.net>
> > Sent: Wednesday, September 14, 2022 23:30
> > To: dev@dpdk.org
> > Cc: Michael Savisko <michaelsav@nvidia.com>; Slava Ovsiienko
> > <viacheslavo@nvidia.com>; Matan Azrad <matan@nvidia.com>; Dariusz
> > Sosnowski <dsosnowski@nvidia.com>; Asaf Penso <asafp@nvidia.com>;
> Ori
> > Kam <orika@nvidia.com>; Ferruh Yigit <ferruh.yigit@xilinx.com>; Andrew
> > Rybchenko <andrew.rybchenko@oktetlabs.ru>
> > Subject: [PATCH] doc: relate bifurcated driver and flow isolated mode
> >
> > External email: Use caution opening links or attachments
> >
> >
> > The relation between the isolated mode in ethdev flow API and bifurcated
> > driver behaviour was not clearly explained.
> >
> > It is made clear in the how-to guide that isolated mode is required for flow
> > bifurcation to the kernel.
> > On the other side, the impact of the isolated mode on a bifurcated driver is
> > made more explicit.
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > ---
> >  doc/guides/howto/flow_bifurcation.rst | 3 ++-
> >  lib/ethdev/rte_flow.h                 | 4 ++++
> >  2 files changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/doc/guides/howto/flow_bifurcation.rst
> > b/doc/guides/howto/flow_bifurcation.rst
> > index 7ba66b9003..79cf4f1e64 100644
> > --- a/doc/guides/howto/flow_bifurcation.rst
> > +++ b/doc/guides/howto/flow_bifurcation.rst
> > @@ -55,7 +55,8 @@ 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.
> > +the :ref:`flow_isolated_mode` must be configured, so there is no
> > +default rule routing traffic to userspace.
> >
> >  There is no specific instructions to follow.
> >  The recommended reading is the :doc:`../prog_guide/rte_flow` guide.
> > diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index
> > a79f1e7ef0..1bac3fd9ec 100644
> > --- a/lib/ethdev/rte_flow.h
> > +++ b/lib/ethdev/rte_flow.h
> > @@ -4254,6 +4254,10 @@ rte_flow_query(uint16_t port_id,
> >   *
> >   * Isolated mode guarantees that all ingress traffic comes from defined
> flow
> >   * rules only (current and future).
> > + * When enabled with a bifurcated driver,
> > + * non-matched packets are routed to the kernel driver interface.
> > + * When disabled (the default),
> > + * there may be some default rules routing traffic to the DPDK port.
> >   *
> >   * Besides making ingress more deterministic, it allows PMDs to safely
> reuse
> >   * resources otherwise assigned to handle the remaining traffic, such as
> > --
> > 2.36.1
> 
> Looks good to me. Thank you.
> 
> Reviewed-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
> 
> Best regards,
> Dariusz Sosnowski

Acked-by: Ori Kam <orika@nvidia.com>
Best,
Ori
  
Andrew Rybchenko Oct. 4, 2022, 3:07 p.m. UTC | #3
On 9/20/22 13:56, Ori Kam wrote:
> Hi,
> 
>> -----Original Message-----
>> From: Dariusz Sosnowski <dsosnowski@nvidia.com>
>> Sent: Tuesday, 20 September 2022 11:49
>>
>> Hi Thomas,
>>
>>> -----Original Message-----
>>> From: Thomas Monjalon <thomas@monjalon.net>
>>> Sent: Wednesday, September 14, 2022 23:30
>>> To: dev@dpdk.org
>>> Cc: Michael Savisko <michaelsav@nvidia.com>; Slava Ovsiienko
>>> <viacheslavo@nvidia.com>; Matan Azrad <matan@nvidia.com>; Dariusz
>>> Sosnowski <dsosnowski@nvidia.com>; Asaf Penso <asafp@nvidia.com>;
>> Ori
>>> Kam <orika@nvidia.com>; Ferruh Yigit <ferruh.yigit@xilinx.com>; Andrew
>>> Rybchenko <andrew.rybchenko@oktetlabs.ru>
>>> Subject: [PATCH] doc: relate bifurcated driver and flow isolated mode
>>>
>>> External email: Use caution opening links or attachments
>>>
>>>
>>> The relation between the isolated mode in ethdev flow API and bifurcated
>>> driver behaviour was not clearly explained.
>>>
>>> It is made clear in the how-to guide that isolated mode is required for flow
>>> bifurcation to the kernel.
>>> On the other side, the impact of the isolated mode on a bifurcated driver is
>>> made more explicit.
>>>
>>> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>>> ---
>>>   doc/guides/howto/flow_bifurcation.rst | 3 ++-
>>>   lib/ethdev/rte_flow.h                 | 4 ++++
>>>   2 files changed, 6 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/doc/guides/howto/flow_bifurcation.rst
>>> b/doc/guides/howto/flow_bifurcation.rst
>>> index 7ba66b9003..79cf4f1e64 100644
>>> --- a/doc/guides/howto/flow_bifurcation.rst
>>> +++ b/doc/guides/howto/flow_bifurcation.rst
>>> @@ -55,7 +55,8 @@ 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.
>>> +the :ref:`flow_isolated_mode` must be configured, so there is no
>>> +default rule routing traffic to userspace.
>>>
>>>   There is no specific instructions to follow.
>>>   The recommended reading is the :doc:`../prog_guide/rte_flow` guide.
>>> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index
>>> a79f1e7ef0..1bac3fd9ec 100644
>>> --- a/lib/ethdev/rte_flow.h
>>> +++ b/lib/ethdev/rte_flow.h
>>> @@ -4254,6 +4254,10 @@ rte_flow_query(uint16_t port_id,
>>>    *
>>>    * Isolated mode guarantees that all ingress traffic comes from defined
>> flow
>>>    * rules only (current and future).
>>> + * When enabled with a bifurcated driver,
>>> + * non-matched packets are routed to the kernel driver interface.
>>> + * When disabled (the default),
>>> + * there may be some default rules routing traffic to the DPDK port.
>>>    *
>>>    * Besides making ingress more deterministic, it allows PMDs to safely
>> reuse
>>>    * resources otherwise assigned to handle the remaining traffic, such as
>>> --
>>> 2.36.1
>>
>> Looks good to me. Thank you.
>>
>> Reviewed-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
>>
>> Best regards,
>> Dariusz Sosnowski
> 
> Acked-by: Ori Kam <orika@nvidia.com>
> Best,
> Ori

Applied to dpdk-next-net/main, thanks.
  

Patch

diff --git a/doc/guides/howto/flow_bifurcation.rst b/doc/guides/howto/flow_bifurcation.rst
index 7ba66b9003..79cf4f1e64 100644
--- a/doc/guides/howto/flow_bifurcation.rst
+++ b/doc/guides/howto/flow_bifurcation.rst
@@ -55,7 +55,8 @@  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.
+the :ref:`flow_isolated_mode` must be configured,
+so there is no default rule routing traffic to userspace.
 
 There is no specific instructions to follow.
 The recommended reading is the :doc:`../prog_guide/rte_flow` guide.
diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
index a79f1e7ef0..1bac3fd9ec 100644
--- a/lib/ethdev/rte_flow.h
+++ b/lib/ethdev/rte_flow.h
@@ -4254,6 +4254,10 @@  rte_flow_query(uint16_t port_id,
  *
  * Isolated mode guarantees that all ingress traffic comes from defined flow
  * rules only (current and future).
+ * When enabled with a bifurcated driver,
+ * non-matched packets are routed to the kernel driver interface.
+ * When disabled (the default),
+ * there may be some default rules routing traffic to the DPDK port.
  *
  * Besides making ingress more deterministic, it allows PMDs to safely reuse
  * resources otherwise assigned to handle the remaining traffic, such as