flow_classify: mark library as deprecated

Message ID 20221027094655.1007047-1-david.marchand@redhat.com (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series flow_classify: mark library as deprecated |

Checks

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

Commit Message

David Marchand Oct. 27, 2022, 9:46 a.m. UTC
  This library has no maintainer and, for now, nobody expressed interest
in taking over.
Mark this experimental library as deprecated and announce plan for
removal in v23.11.

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 MAINTAINERS                                 | 3 +--
 doc/guides/prog_guide/flow_classify_lib.rst | 9 +++++++++
 doc/guides/rel_notes/deprecation.rst        | 6 ++++++
 lib/flow_classify/rte_flow_classify.c       | 3 +++
 lib/meson.build                             | 5 ++++-
 meson_options.txt                           | 2 +-
 6 files changed, 24 insertions(+), 4 deletions(-)
  

Comments

Ferruh Yigit Oct. 27, 2022, 10:31 a.m. UTC | #1
On 10/27/2022 10:46 AM, David Marchand wrote:
> This library has no maintainer and, for now, nobody expressed interest
> in taking over.
> Mark this experimental library as deprecated and announce plan for
> removal in v23.11.
> 
> Signed-off-by: David Marchand<david.marchand@redhat.com>

Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
  
Konstantin Ananyev Oct. 27, 2022, 12:44 p.m. UTC | #2
> 
> This library has no maintainer and, for now, nobody expressed interest
> in taking over.
> Mark this experimental library as deprecated and announce plan for
> removal in v23.11.
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---

 Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>

> --
> 2.37.3
  
Thomas Monjalon Oct. 27, 2022, 2:14 p.m. UTC | #3
27/10/2022 11:46, David Marchand:
> This library has no maintainer and, for now, nobody expressed interest
> in taking over.
> Mark this experimental library as deprecated and announce plan for
> removal in v23.11.
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>

It adds enough warnings to reach potential users.

Acked-by: Thomas Monjalon <thomas@monjalon.net>
  
David Marchand Oct. 28, 2022, 2:12 p.m. UTC | #4
On Thu, Oct 27, 2022 at 4:14 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> > This library has no maintainer and, for now, nobody expressed interest
> > in taking over.
> > Mark this experimental library as deprecated and announce plan for
> > removal in v23.11.
> >
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
>
> Acked-by: Thomas Monjalon <thomas@monjalon.net>

Applied, thanks.
  

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index 2bd4a55f1b..89768d15ee 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1448,8 +1448,7 @@  F: doc/guides/prog_guide/ipsec_lib.rst
 M: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
 F: app/test-sad/
 
-Flow Classify - EXPERIMENTAL
-M: Bernard Iremonger <bernard.iremonger@intel.com>
+Flow Classify - EXPERIMENTAL - UNMAINTAINED
 F: lib/flow_classify/
 F: app/test/test_flow_classify*
 F: doc/guides/prog_guide/flow_classify_lib.rst
diff --git a/doc/guides/prog_guide/flow_classify_lib.rst b/doc/guides/prog_guide/flow_classify_lib.rst
index 7dae0bc8c6..ad2e10ec26 100644
--- a/doc/guides/prog_guide/flow_classify_lib.rst
+++ b/doc/guides/prog_guide/flow_classify_lib.rst
@@ -4,6 +4,15 @@ 
 Flow Classification Library
 ===========================
 
+.. note::
+
+   The Flow Classification library is deprecated and will be removed in future.
+   See :doc:`../rel_notes/deprecation`.
+
+   It is disabled by default in the DPDK build.
+   To re-enable the library, remove 'flow_classify' from the "disable_libs"
+   meson option when configuring a build.
+
 DPDK provides a Flow Classification library that provides the ability
 to classify an input packet by matching it against a set of Flow rules.
 
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 05cacb3ea8..e2efa2f8b0 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -96,3 +96,9 @@  Deprecation Notices
   to have another parameter ``qp_id`` to return the queue pair ID
   which got error interrupt to the application,
   so that application can reset that particular queue pair.
+
+* flow_classify: The flow_classify library and example have no maintainer.
+  The library is experimental and, as such, it could be removed from DPDK.
+  Its removal has been postponed to let potential users report interest
+  in maintaining it.
+  In the absence of such interest, this library will be removed in DPDK 23.11.
diff --git a/lib/flow_classify/rte_flow_classify.c b/lib/flow_classify/rte_flow_classify.c
index e3667306e5..60ca319f24 100644
--- a/lib/flow_classify/rte_flow_classify.c
+++ b/lib/flow_classify/rte_flow_classify.c
@@ -259,6 +259,9 @@  rte_flow_classifier_create(struct rte_flow_classifier_params *params)
 	struct rte_flow_classifier *cls;
 	int ret;
 
+	RTE_FLOW_CLASSIFY_LOG(WARNING,
+		"WARNING: flow_classify is deprecated and will be removed in DPDK 23.11\n");
+
 	/* Check input parameters */
 	ret = rte_flow_classifier_check_params(params);
 	if (ret != 0) {
diff --git a/lib/meson.build b/lib/meson.build
index c51cdc24fa..1f802bc456 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -85,7 +85,10 @@  optional_libs = [
         'vhost',
 ]
 
-dpdk_libs_deprecated += ['kni']
+dpdk_libs_deprecated += [
+        'flow_classify',
+        'kni',
+]
 
 disabled_libs = []
 opt_disabled_libs = run_command(list_dir_globs, get_option('disable_libs'),
diff --git a/meson_options.txt b/meson_options.txt
index 5de1b3ed23..ce26a8a2ec 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -8,7 +8,7 @@  option('developer_mode', type: 'feature', description:
        'turn on additional build checks relevant for DPDK developers')
 option('disable_drivers', type: 'string', value: '', description:
        'Comma-separated list of drivers to explicitly disable.')
-option('disable_libs', type: 'string', value: 'kni', description:
+option('disable_libs', type: 'string', value: 'flow_classify,kni', description:
        'Comma-separated list of libraries to explicitly disable. [NOTE: not all libs can be disabled]')
 option('drivers_install_subdir', type: 'string', value: 'dpdk/pmds-<VERSION>', description:
        'Subdirectory of libdir where to install PMDs. Defaults to using a versioned subdirectory.')