doc: relate bifurcated driver and flow isolated mode
Checks
Commit Message
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
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
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
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.
@@ -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.
@@ -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