This patch updates the MLX5 PMD and release notes documentations. Adding the notes of the behavior change that rte flows organization is switched into non-cached mode for applications. Signed-off-by: Bing Zhao <bingz@mellanox.com> --- v2: update the description in release notes. --- doc/guides/nics/mlx5.rst | 10 ++++++++++ doc/guides/rel_notes/release_20_05.rst | 1 + 2 files changed, 11 insertions(+) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index e13c07d..63138c4 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -1287,6 +1287,16 @@ set, and we should allow to specify zero values as rte_flow parameters for the META and MARK items and actions. In the same time zero mask has no meaning and should be rejected on validation stage. +Notes for rte_flow +------------------ +Implementation of flows organization is in non-cached mode. When stopping a +device, all the flows inserted from application will be considered invalid and +flushed automatically in the background. After restarting of the device, no +application's flow exists in the system. + +The application should re-insert the flows as required after device restarting, +and must not try to destroy or flush the invalid flows before stopping. + Notes for testpmd ----------------- diff --git a/doc/guides/rel_notes/release_20_05.rst b/doc/guides/rel_notes/release_20_05.rst index 4b81893..b951745 100644 --- a/doc/guides/rel_notes/release_20_05.rst +++ b/doc/guides/rel_notes/release_20_05.rst @@ -62,6 +62,7 @@ New Features * Added support for matching on IPv4 Time To Live and IPv6 Hop Limit. * Added support for creating Relaxed Ordering Memory Regions. + * Flow rules caching removed from the driver for memory saving. * **Updated the Intel ice driver.** -- 1.8.3.1
Hi Bing, > -----Original Message----- > From: Bing Zhao <bingz@mellanox.com> > Sent: Monday, April 13, 2020 5:56 PM > To: john.mcnamara@intel.com; marko.kovacevic@intel.com; Slava Ovsiienko > <viacheslavo@mellanox.com>; Matan Azrad <matan@mellanox.com> > Cc: Shahaf Shuler <shahafs@mellanox.com>; Raslan Darawsheh > <rasland@mellanox.com>; Ori Kam <orika@mellanox.com>; dev@dpdk.org; > Thomas Monjalon <thomas@monjalon.net> > Subject: [PATCH v2] doc: update flow non-cached mode notes > > This patch updates the MLX5 PMD and release notes documentations. > Adding the notes of the behavior change that rte flows organization > is switched into non-cached mode for applications. > > Signed-off-by: Bing Zhao <bingz@mellanox.com> > --- > v2: update the description in release notes. > --- > doc/guides/nics/mlx5.rst | 10 ++++++++++ > doc/guides/rel_notes/release_20_05.rst | 1 + > 2 files changed, 11 insertions(+) > > diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst > index e13c07d..63138c4 100644 > --- a/doc/guides/nics/mlx5.rst > +++ b/doc/guides/nics/mlx5.rst > @@ -1287,6 +1287,16 @@ set, and we should allow to specify zero values as > rte_flow parameters for the > META and MARK items and actions. In the same time zero mask has no > meaning and > should be rejected on validation stage. > > +Notes for rte_flow > +------------------ > +Implementation of flows organization is in non-cached mode. When stopping a > +device, all the flows inserted from application will be considered invalid and > +flushed automatically in the background. After restarting of the device, no > +application's flow exists in the system. > + I think that it should be stated that all flows are destroyed, and the reference to those flows are not valid any more. It is important to tell that the pointers that the application is holding is not valid anymore, and should be discarded by the application. > +The application should re-insert the flows as required after device restarting, > +and must not try to destroy or flush the invalid flows before stopping. > + Here I think it should say: The application should recreate the flows. Again it to make sure that the application flow pointers are not valid anymore. Also I don't understand the last line, The application should destroy all flows before stopping the device. > Notes for testpmd > ----------------- > > diff --git a/doc/guides/rel_notes/release_20_05.rst > b/doc/guides/rel_notes/release_20_05.rst > index 4b81893..b951745 100644 > --- a/doc/guides/rel_notes/release_20_05.rst > +++ b/doc/guides/rel_notes/release_20_05.rst > @@ -62,6 +62,7 @@ New Features > > * Added support for matching on IPv4 Time To Live and IPv6 Hop Limit. > * Added support for creating Relaxed Ordering Memory Regions. > + * Flow rules caching removed from the driver for memory saving. > And correctness according to RTE flow. Thanks, Ori > * **Updated the Intel ice driver.** > > -- > 1.8.3.1
This patch updates the MLX5 PMD and release notes documentations. Adding the notes of the behavior change that rte flows organization is switched into non-cached mode for applications. Signed-off-by: Bing Zhao <bingz@mellanox.com> --- v2: update the description in release notes. v3: update the notes of rte_flow for application. --- doc/guides/nics/mlx5.rst | 13 +++++++++++++ doc/guides/rel_notes/release_20_05.rst | 2 ++ 2 files changed, 15 insertions(+) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index 759d0ac..ced5e03 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -1300,6 +1300,19 @@ set, and we should allow to specify zero values as rte_flow parameters for the META and MARK items and actions. In the same time zero mask has no meaning and should be rejected on validation stage. +Notes for rte_flow +------------------ +Implementation of flows organization is in non-cached mode. When stopping a +device, all the flows inserted from application will be considered invalid and +flushed automatically in the background. After restarting of the device, no +application's flow exists in the system. All reference pointers to these flows +held by the application are not valid anymore and should be discarded by the +application. + +The application should recreate the flows as required after device restarting, +and must not try to destroy or flush the invalid flows after stopping (except +discarding them). + Notes for testpmd ----------------- diff --git a/doc/guides/rel_notes/release_20_05.rst b/doc/guides/rel_notes/release_20_05.rst index bacd4c6..367c5df 100644 --- a/doc/guides/rel_notes/release_20_05.rst +++ b/doc/guides/rel_notes/release_20_05.rst @@ -63,6 +63,8 @@ New Features * Added support for matching on IPv4 Time To Live and IPv6 Hop Limit. * Added support for creating Relaxed Ordering Memory Regions. * Added support for jumbo frame size (9K MTU) in Multi-Packet RQ mode. + * Flow rules caching removed from the driver for memory saving and + correctness according to RTE flow and RTE ethdev. * Optimized the memory consumption of flow. * **Updated the Intel ice driver.** -- 1.8.3.1
> -----Original Message----- > From: Bing Zhao <bingz@mellanox.com> > Sent: Tuesday, April 21, 2020 9:08 AM > To: john.mcnamara@intel.com; marko.kovacevic@intel.com; Slava Ovsiienko > <viacheslavo@mellanox.com>; Ori Kam <orika@mellanox.com>; Matan Azrad > <matan@mellanox.com> > Cc: Shahaf Shuler <shahafs@mellanox.com>; Raslan Darawsheh > <rasland@mellanox.com>; dev@dpdk.org; Thomas Monjalon > <thomas@monjalon.net> > Subject: [PATCH v3] doc: update flow non-cached mode notes > > This patch updates the MLX5 PMD and release notes documentations. > Adding the notes of the behavior change that rte flows organization > is switched into non-cached mode for applications. > > Signed-off-by: Bing Zhao <bingz@mellanox.com> > --- > v2: update the description in release notes. > v3: update the notes of rte_flow for application. > --- Acked-by: Ori Kam <orika@mellanox.com> Thanks, Ori > doc/guides/nics/mlx5.rst | 13 +++++++++++++ > doc/guides/rel_notes/release_20_05.rst | 2 ++ > 2 files changed, 15 insertions(+) > > diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst > index 759d0ac..ced5e03 100644 > --- a/doc/guides/nics/mlx5.rst > +++ b/doc/guides/nics/mlx5.rst > @@ -1300,6 +1300,19 @@ set, and we should allow to specify zero values as > rte_flow parameters for the > META and MARK items and actions. In the same time zero mask has no > meaning and > should be rejected on validation stage. > > +Notes for rte_flow > +------------------ > +Implementation of flows organization is in non-cached mode. When stopping a > +device, all the flows inserted from application will be considered invalid and > +flushed automatically in the background. After restarting of the device, no > +application's flow exists in the system. All reference pointers to these flows > +held by the application are not valid anymore and should be discarded by the > +application. > + > +The application should recreate the flows as required after device restarting, > +and must not try to destroy or flush the invalid flows after stopping (except > +discarding them). > + > Notes for testpmd > ----------------- > > diff --git a/doc/guides/rel_notes/release_20_05.rst > b/doc/guides/rel_notes/release_20_05.rst > index bacd4c6..367c5df 100644 > --- a/doc/guides/rel_notes/release_20_05.rst > +++ b/doc/guides/rel_notes/release_20_05.rst > @@ -63,6 +63,8 @@ New Features > * Added support for matching on IPv4 Time To Live and IPv6 Hop Limit. > * Added support for creating Relaxed Ordering Memory Regions. > * Added support for jumbo frame size (9K MTU) in Multi-Packet RQ mode. > + * Flow rules caching removed from the driver for memory saving and > + correctness according to RTE flow and RTE ethdev. > * Optimized the memory consumption of flow. > > * **Updated the Intel ice driver.** > -- > 1.8.3.1
Hi, Please prefer splitting lines after punctuation signs. 21/04/2020 08:08, Bing Zhao: > --- a/doc/guides/nics/mlx5.rst > +++ b/doc/guides/nics/mlx5.rst > > +Notes for rte_flow A blank line is missing below: > +------------------ > +Implementation of flows organization is in non-cached mode. When stopping a This can be simpler in direct form: Flows are not cached in the driver. > +device, all the flows inserted from application will be considered invalid and device -> device port > +flushed automatically in the background. After restarting of the device, no restarting of the device -> restarting the device > +application's flow exists in the system. All reference pointers to these flows Why "application's flow"? What about "no flow is represented in the system"? reference pointers -> references > +held by the application are not valid anymore and should be discarded by the > +application. Invalid and discard explanations are repeated below. > + > +The application should recreate the flows as required after device restarting, device restarting -> port restart Better to stop the sentence here, and move it at the end of the paragraph after "stop". > +and must not try to destroy or flush the invalid flows after stopping (except After stopping, flows become invalid. They should be discarded but neither destroyed nor flushed. > +discarding them). > + > Notes for testpmd > ----------------- > > diff --git a/doc/guides/rel_notes/release_20_05.rst b/doc/guides/rel_notes/release_20_05.rst > index bacd4c6..367c5df 100644 > --- a/doc/guides/rel_notes/release_20_05.rst > +++ b/doc/guides/rel_notes/release_20_05.rst > @@ -63,6 +63,8 @@ New Features > * Added support for matching on IPv4 Time To Live and IPv6 Hop Limit. > * Added support for creating Relaxed Ordering Memory Regions. > * Added support for jumbo frame size (9K MTU) in Multi-Packet RQ mode. > + * Flow rules caching removed from the driver for memory saving and > + correctness according to RTE flow and RTE ethdev. Removed flow rules caching for memory saving and compliance with ethdev API.
This patch updates the MLX5 PMD and release notes documentations. Adding the notes of the behavior change that rte flows organization is switched into non-cached mode for applications. Signed-off-by: Bing Zhao <bingz@mellanox.com> Acked-by: Ori Kam <orika@mellanox.com> --- v2: update the description in release notes. v3: update the notes of rte_flow for application. v4: update the descriptions. --- doc/guides/nics/mlx5.rst | 14 ++++++++++++++ doc/guides/rel_notes/release_20_05.rst | 1 + 2 files changed, 15 insertions(+) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index 759d0ac..64822ae 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -1290,6 +1290,7 @@ Supported hardware offloads Notes for metadata ------------------ + MARK and META items are interrelated with datapath - they might move from/to the applications in mbuf fields. Hence, zero value for these items has the special meaning - it means "no metadata are provided", not zero values are @@ -1300,6 +1301,19 @@ set, and we should allow to specify zero values as rte_flow parameters for the META and MARK items and actions. In the same time zero mask has no meaning and should be rejected on validation stage. +Notes for rte_flow +------------------ + +Flows are not cached in the driver. When stopping a device port, all the flows +created on this port from the application will be flushed automatically in +the background. +After stopping the device port, all flows on this port become invalid and +not represented in the system. +All references to these flows held by the application should be discarded +directly but neither destroyed nor flushed. + +The application should re-create the flows as required after the port restart. + Notes for testpmd ----------------- diff --git a/doc/guides/rel_notes/release_20_05.rst b/doc/guides/rel_notes/release_20_05.rst index 1e5304d..cc53233 100644 --- a/doc/guides/rel_notes/release_20_05.rst +++ b/doc/guides/rel_notes/release_20_05.rst @@ -79,6 +79,7 @@ New Features * Added support for matching on IPv4 Time To Live and IPv6 Hop Limit. * Added support for creating Relaxed Ordering Memory Regions. * Added support for jumbo frame size (9K MTU) in Multi-Packet RQ mode. + * Removed flow rules caching for memory saving and compliance with ethdev API. * Optimized the memory consumption of flow. * **Updated the Intel ice driver.** -- 1.8.3.1
I see you tried to split lines after punctuation, thanks. 22/04/2020 11:23, Bing Zhao: > +Flows are not cached in the driver. When stopping a device port, all the flows > +created on this port from the application will be flushed automatically in > +the background. It would have been perfect if splitting the first line after the punctuation :-) > +After stopping the device port, all flows on this port become invalid and > +not represented in the system. > +All references to these flows held by the application should be discarded > +directly but neither destroyed nor flushed. > + > +The application should re-create the flows as required after the port restart.
This patch updates the MLX5 PMD and release notes documentations. Adding the notes of the behavior change that rte flows organization is switched into non-cached mode for applications. Signed-off-by: Bing Zhao <bingz@mellanox.com> Acked-by: Ori Kam <orika@mellanox.com> --- v2: update the description in release notes. v3: update the notes of rte_flow for application. v4: update the descriptions. v5: update the format of lines splitting. --- doc/guides/nics/mlx5.rst | 14 ++++++++++++++ doc/guides/rel_notes/release_20_05.rst | 1 + 2 files changed, 15 insertions(+) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index 759d0ac..fd5b697 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -1290,6 +1290,7 @@ Supported hardware offloads Notes for metadata ------------------ + MARK and META items are interrelated with datapath - they might move from/to the applications in mbuf fields. Hence, zero value for these items has the special meaning - it means "no metadata are provided", not zero values are @@ -1300,6 +1301,19 @@ set, and we should allow to specify zero values as rte_flow parameters for the META and MARK items and actions. In the same time zero mask has no meaning and should be rejected on validation stage. +Notes for rte_flow +------------------ + +Flows are not cached in the driver. +When stopping a device port, all the flows created on this port from the +application will be flushed automatically in the background. +After stopping the device port, all flows on this port become invalid and +not represented in the system. +All references to these flows held by the application should be discarded +directly but neither destroyed nor flushed. + +The application should re-create the flows as required after the port restart. + Notes for testpmd ----------------- diff --git a/doc/guides/rel_notes/release_20_05.rst b/doc/guides/rel_notes/release_20_05.rst index 8c71dc1..e91fe14 100644 --- a/doc/guides/rel_notes/release_20_05.rst +++ b/doc/guides/rel_notes/release_20_05.rst @@ -79,6 +79,7 @@ New Features * Added support for matching on IPv4 Time To Live and IPv6 Hop Limit. * Added support for creating Relaxed Ordering Memory Regions. * Added support for jumbo frame size (9K MTU) in Multi-Packet RQ mode. + * Removed flow rules caching for memory saving and compliance with ethdev API. * Optimized the memory consumption of flow. * **Updated the Intel ice driver.** -- 1.8.3.1
Hi,
> -----Original Message-----
> From: Bing Zhao <bingz@mellanox.com>
> Sent: Wednesday, April 22, 2020 6:27 PM
> To: john.mcnamara@intel.com; marko.kovacevic@intel.com; Slava Ovsiienko
> <viacheslavo@mellanox.com>; Ori Kam <orika@mellanox.com>; Matan
> Azrad <matan@mellanox.com>
> Cc: Shahaf Shuler <shahafs@mellanox.com>; Raslan Darawsheh
> <rasland@mellanox.com>; dev@dpdk.org; Thomas Monjalon
> <thomas@monjalon.net>
> Subject: [PATCH v5] doc: update flow non-cached mode notes
>
> This patch updates the MLX5 PMD and release notes documentations.
> Adding the notes of the behavior change that rte flows organization
> is switched into non-cached mode for applications.
>
> Signed-off-by: Bing Zhao <bingz@mellanox.com>
> Acked-by: Ori Kam <orika@mellanox.com>
> ---
> v2: update the description in release notes.
> v3: update the notes of rte_flow for application.
> v4: update the descriptions.
> v5: update the format of lines splitting.
> ---
> doc/guides/nics/mlx5.rst | 14 ++++++++++++++
> doc/guides/rel_notes/release_20_05.rst | 1 +
> 2 files changed, 15 insertions(+)
>
> diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
> index 759d0ac..fd5b697 100644
> --- a/doc/guides/nics/mlx5.rst
> +++ b/doc/guides/nics/mlx5.rst
> @@ -1290,6 +1290,7 @@ Supported hardware offloads
>
> Notes for metadata
> ------------------
> +
> MARK and META items are interrelated with datapath - they might move
> from/to
> the applications in mbuf fields. Hence, zero value for these items has the
> special meaning - it means "no metadata are provided", not zero values are
> @@ -1300,6 +1301,19 @@ set, and we should allow to specify zero values as
> rte_flow parameters for the
> META and MARK items and actions. In the same time zero mask has no
> meaning and
> should be rejected on validation stage.
>
> +Notes for rte_flow
> +------------------
> +
> +Flows are not cached in the driver.
> +When stopping a device port, all the flows created on this port from the
> +application will be flushed automatically in the background.
> +After stopping the device port, all flows on this port become invalid and
> +not represented in the system.
> +All references to these flows held by the application should be discarded
> +directly but neither destroyed nor flushed.
> +
> +The application should re-create the flows as required after the port restart.
> +
> Notes for testpmd
> -----------------
>
> diff --git a/doc/guides/rel_notes/release_20_05.rst
> b/doc/guides/rel_notes/release_20_05.rst
> index 8c71dc1..e91fe14 100644
> --- a/doc/guides/rel_notes/release_20_05.rst
> +++ b/doc/guides/rel_notes/release_20_05.rst
> @@ -79,6 +79,7 @@ New Features
> * Added support for matching on IPv4 Time To Live and IPv6 Hop Limit.
> * Added support for creating Relaxed Ordering Memory Regions.
> * Added support for jumbo frame size (9K MTU) in Multi-Packet RQ mode.
> + * Removed flow rules caching for memory saving and compliance with
> ethdev API.
> * Optimized the memory consumption of flow.
>
> * **Updated the Intel ice driver.**
> --
> 1.8.3.1
Patch rebased and applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh