[3/3] lib: remind experimental status in library headers
Checks
Commit Message
The following libraries are experimental, all of their functions can
change or disappear:
- librte_bbdev
- librte_bpf
- librte_compressdev
- librte_fib
- librte_flow_classify
- librte_ipsec
- librte_rcu
- librte_rib
- librte_stack
- librte_telemetry
Their status is properly announced in MAINTAINERS.
Remind this status in their headers in a common fashion.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
lib/librte_bbdev/rte_bbdev.h | 3 ++-
lib/librte_bpf/rte_bpf.h | 6 +++++-
lib/librte_compressdev/rte_compressdev.h | 6 +++++-
lib/librte_fib/rte_fib.h | 7 +++++++
lib/librte_fib/rte_fib6.h | 7 +++++++
lib/librte_flow_classify/rte_flow_classify.h | 6 ++++--
lib/librte_ipsec/rte_ipsec.h | 6 +++++-
lib/librte_rcu/rte_rcu_qsbr.h | 7 ++++++-
lib/librte_rib/rte_rib.h | 7 +++++++
lib/librte_rib/rte_rib6.h | 7 +++++++
lib/librte_stack/rte_stack.h | 7 +++++--
lib/librte_telemetry/rte_telemetry.h | 10 ++++++----
12 files changed, 66 insertions(+), 13 deletions(-)
Comments
<snip>
> Subject: [PATCH 3/3] lib: remind experimental status in library headers
>
> The following libraries are experimental, all of their functions can change or
> disappear:
>
> - librte_bbdev
> - librte_bpf
> - librte_compressdev
> - librte_fib
> - librte_flow_classify
> - librte_ipsec
> - librte_rcu
> - librte_rib
> - librte_stack
> - librte_telemetry
>
> Their status is properly announced in MAINTAINERS.
> Remind this status in their headers in a common fashion.
>
> Cc: stable@dpdk.org
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
> lib/librte_bbdev/rte_bbdev.h | 3 ++-
> lib/librte_bpf/rte_bpf.h | 6 +++++-
> lib/librte_compressdev/rte_compressdev.h | 6 +++++-
> lib/librte_fib/rte_fib.h | 7 +++++++
> lib/librte_fib/rte_fib6.h | 7 +++++++
> lib/librte_flow_classify/rte_flow_classify.h | 6 ++++--
> lib/librte_ipsec/rte_ipsec.h | 6 +++++-
> lib/librte_rcu/rte_rcu_qsbr.h | 7 ++++++-
> lib/librte_rib/rte_rib.h | 7 +++++++
> lib/librte_rib/rte_rib6.h | 7 +++++++
> lib/librte_stack/rte_stack.h | 7 +++++--
> lib/librte_telemetry/rte_telemetry.h | 10 ++++++----
> 12 files changed, 66 insertions(+), 13 deletions(-)
>
> diff --git a/lib/librte_bbdev/rte_bbdev.h b/lib/librte_bbdev/rte_bbdev.h index
> ecd95a823d..ab4e1bd6f4 100644
> --- a/lib/librte_bbdev/rte_bbdev.h
> +++ b/lib/librte_bbdev/rte_bbdev.h
> @@ -11,7 +11,8 @@
> * Wireless base band device abstraction APIs.
> *
> * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> + * @b EXPERIMENTAL:
> + * All functions in this file may change or disappear without prior notice.
nit, is 'removed' a better choice instead of 'disappear'? May be something like:
All functions in this file may be changed or removed without prior notice.
> *
> * This API allows an application to discover, configure and use a device to
> * process operations. An asynchronous API (enqueue, followed by later
> dequeue) diff --git a/lib/librte_bpf/rte_bpf.h b/lib/librte_bpf/rte_bpf.h index
> cbf1cddaca..ceb3e26b03 100644
> --- a/lib/librte_bpf/rte_bpf.h
> +++ b/lib/librte_bpf/rte_bpf.h
> @@ -7,9 +7,13 @@
>
> /**
> * @file rte_bpf.h
> - * @b EXPERIMENTAL: this API may change without prior notice
> *
> * RTE BPF support.
> + *
> + * @warning
> + * @b EXPERIMENTAL:
> + * All functions in this file may change or disappear without prior notice.
> + *
> * librte_bpf provides a framework to load and execute eBPF bytecode
> * inside user-space dpdk based applications.
> * It supports basic set of features from eBPF spec diff --git
> a/lib/librte_compressdev/rte_compressdev.h
> b/lib/librte_compressdev/rte_compressdev.h
> index 8052efe675..9c873b347d 100644
> --- a/lib/librte_compressdev/rte_compressdev.h
> +++ b/lib/librte_compressdev/rte_compressdev.h
> @@ -8,7 +8,11 @@
> /**
> * @file rte_compressdev.h
> *
> - * RTE Compression Device APIs
> + * RTE Compression Device APIs.
> + *
> + * @warning
> + * @b EXPERIMENTAL:
> + * All functions in this file may change or disappear without prior notice.
> *
> * Defines comp device APIs for the provisioning of compression operations.
> */
> diff --git a/lib/librte_fib/rte_fib.h b/lib/librte_fib/rte_fib.h index
> af3bbf07ee..b52d058406 100644
> --- a/lib/librte_fib/rte_fib.h
> +++ b/lib/librte_fib/rte_fib.h
> @@ -8,6 +8,13 @@
>
> /**
> * @file
> + *
> + * RTE FIB library.
> + *
> + * @warning
> + * @b EXPERIMENTAL:
> + * All functions in this file may change or disappear without prior notice.
> + *
> * FIB (Forwarding information base) implementation
> * for IPv4 Longest Prefix Match
> */
> diff --git a/lib/librte_fib/rte_fib6.h b/lib/librte_fib/rte_fib6.h index
> 66c71c84c9..e6e8892ecb 100644
> --- a/lib/librte_fib/rte_fib6.h
> +++ b/lib/librte_fib/rte_fib6.h
> @@ -8,6 +8,13 @@
>
> /**
> * @file
> + *
> + * RTE FIB6 library.
> + *
> + * @warning
> + * @b EXPERIMENTAL:
> + * All functions in this file may change or disappear without prior notice.
> + *
> * FIB (Forwarding information base) implementation
> * for IPv6 Longest Prefix Match
> */
> diff --git a/lib/librte_flow_classify/rte_flow_classify.h
> b/lib/librte_flow_classify/rte_flow_classify.h
> index 74d1ecaf50..ac5b08aa6d 100644
> --- a/lib/librte_flow_classify/rte_flow_classify.h
> +++ b/lib/librte_flow_classify/rte_flow_classify.h
> @@ -8,9 +8,11 @@
> /**
> * @file
> *
> - * RTE Flow Classify Library
> + * RTE Flow Classify Library.
> *
> - * @b EXPERIMENTAL: this API may change without prior notice
> + * @warning
> + * @b EXPERIMENTAL:
> + * All functions in this file may change or disappear without prior notice.
> *
> * This library provides flow record information with some measured
> properties.
> *
> diff --git a/lib/librte_ipsec/rte_ipsec.h b/lib/librte_ipsec/rte_ipsec.h index
> 6666cf7619..50f109553c 100644
> --- a/lib/librte_ipsec/rte_ipsec.h
> +++ b/lib/librte_ipsec/rte_ipsec.h
> @@ -7,9 +7,13 @@
>
> /**
> * @file rte_ipsec.h
> - * @b EXPERIMENTAL: this API may change without prior notice
> *
> * RTE IPsec support.
> + *
> + * @warning
> + * @b EXPERIMENTAL:
> + * All functions in this file may change or disappear without prior notice.
> + *
> * librte_ipsec provides a framework for data-path IPsec protocol
> * processing (ESP/AH).
> */
> diff --git a/lib/librte_rcu/rte_rcu_qsbr.h b/lib/librte_rcu/rte_rcu_qsbr.h index
> fd4eb52b7f..891f64725e 100644
> --- a/lib/librte_rcu/rte_rcu_qsbr.h
> +++ b/lib/librte_rcu/rte_rcu_qsbr.h
> @@ -7,7 +7,12 @@
>
> /**
> * @file
> - * RTE Quiescent State Based Reclamation (QSBR)
> + *
> + * RTE Quiescent State Based Reclamation (QSBR).
> + *
> + * @warning
> + * @b EXPERIMENTAL:
> + * All functions in this file may change or disappear without prior notice.
> *
> * Quiescent State (QS) is any point in the thread execution
> * where the thread does not hold a reference to a data structure diff --git
> a/lib/librte_rib/rte_rib.h b/lib/librte_rib/rte_rib.h index
> 6b70de980a..729177870f 100644
> --- a/lib/librte_rib/rte_rib.h
> +++ b/lib/librte_rib/rte_rib.h
> @@ -8,6 +8,13 @@
>
> /**
> * @file
> + *
> + * RTE RIB library.
> + *
> + * @warning
> + * @b EXPERIMENTAL:
> + * All functions in this file may change or disappear without prior notice.
> + *
> * Level compressed tree implementation for IPv4 Longest Prefix Match
> */
>
> diff --git a/lib/librte_rib/rte_rib6.h b/lib/librte_rib/rte_rib6.h index
> 871457138d..cbdb3fe5c2 100644
> --- a/lib/librte_rib/rte_rib6.h
> +++ b/lib/librte_rib/rte_rib6.h
> @@ -8,6 +8,13 @@
>
> /**
> * @file
> + *
> + * RTE rib6 library.
> + *
> + * @warning
> + * @b EXPERIMENTAL:
> + * All functions in this file may change or disappear without prior notice.
> + *
> * Level compressed tree implementation for IPv6 Longest Prefix Match
> */
>
> diff --git a/lib/librte_stack/rte_stack.h b/lib/librte_stack/rte_stack.h index
> 27ddb199e5..7ac0b49eb6 100644
> --- a/lib/librte_stack/rte_stack.h
> +++ b/lib/librte_stack/rte_stack.h
> @@ -4,9 +4,12 @@
>
> /**
> * @file rte_stack.h
> - * @b EXPERIMENTAL: this API may change without prior notice
> *
> - * RTE Stack
> + * RTE Stack.
> + *
> + * @warning
> + * @b EXPERIMENTAL:
> + * All functions in this file may change or disappear without prior notice.
> *
> * librte_stack provides an API for configuration and use of a bounded stack
> of
> * pointers. Push and pop operations are MT-safe, allowing concurrent access,
> diff --git a/lib/librte_telemetry/rte_telemetry.h
> b/lib/librte_telemetry/rte_telemetry.h
> index 2c3c96cf73..f42457911f 100644
> --- a/lib/librte_telemetry/rte_telemetry.h
> +++ b/lib/librte_telemetry/rte_telemetry.h
> @@ -20,11 +20,13 @@
> #define RTE_TEL_MAX_ARRAY_ENTRIES 512
>
> /**
> - * @warning
> - * @b EXPERIMENTAL: all functions in this file may change without prior
> notice
> - *
> * @file
> - * RTE Telemetry
> + *
> + * RTE Telemetry.
> + *
> + * @warning
> + * @b EXPERIMENTAL:
> + * All functions in this file may change or disappear without prior notice.
> *
> * The telemetry library provides a method to retrieve statistics from
> * DPDK by sending a request message over a socket. DPDK will send
> --
> 2.23.0
> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Friday, May 22, 2020 1:59 AM
> To: dev@dpdk.org
> Cc: thomas@monjalon.net; techboard@dpdk.org; stable@dpdk.org; Chautru,
> Nicolas <nicolas.chautru@intel.com>; Ananyev, Konstantin
> <konstantin.ananyev@intel.com>; Trahe, Fiona <fiona.trahe@intel.com>;
> Ashish Gupta <ashish.gupta@marvell.com>; Medvedkin, Vladimir
> <vladimir.medvedkin@intel.com>; Iremonger, Bernard
> <bernard.iremonger@intel.com>; Honnappa Nagarahalli
> <honnappa.nagarahalli@arm.com>; Eads, Gage <gage.eads@intel.com>; Olivier
> Matz <olivier.matz@6wind.com>; Laatz, Kevin <kevin.laatz@intel.com>
> Subject: [PATCH 3/3] lib: remind experimental status in library headers
>
> The following libraries are experimental, all of their functions can change or
> disappear:
>
> - librte_bbdev
> - librte_bpf
> - librte_compressdev
> - librte_fib
> - librte_flow_classify
> - librte_ipsec
> - librte_rcu
> - librte_rib
> - librte_stack
Thanks David. The stack library was added a year ago and its interfaces have been stable since then, so I think it better to drop its experimental tag altogether.
If there's no opposition to that, I can submit that patch separately.
Thanks,
Gage
Hello Honnappa,
On Fri, May 22, 2020 at 4:16 PM Honnappa Nagarahalli
<Honnappa.Nagarahalli@arm.com> wrote:
> > @@ -11,7 +11,8 @@
> > * Wireless base band device abstraction APIs.
> > *
> > * @warning
> > - * @b EXPERIMENTAL: this API may change without prior notice
> > + * @b EXPERIMENTAL:
> > + * All functions in this file may change or disappear without prior notice.
> nit, is 'removed' a better choice instead of 'disappear'? May be something like:
> All functions in this file may be changed or removed without prior notice.
I used the same form than in the abi policy (that I wanted but forgot
to update in patch 1 afterwards... will be fixed in v2).
#. Libraries or APIs marked as :ref:`experimental <experimental_apis>` may
change without constraint, as they are not considered part of an ABI version.
Experimental libraries have the major ABI version ``0``.
No strong opinion, but I prefer keeping a single phrasing.
If we go with your suggestion, I will update the abi policy.
Hello Gage,
On Tue, May 26, 2020 at 3:29 PM Eads, Gage <gage.eads@intel.com> wrote:
> > The following libraries are experimental, all of their functions can change or
> > disappear:
> >
> > - librte_bbdev
> > - librte_bpf
> > - librte_compressdev
> > - librte_fib
> > - librte_flow_classify
> > - librte_ipsec
> > - librte_rcu
> > - librte_rib
> > - librte_stack
>
> Thanks David. The stack library was added a year ago and its interfaces have been stable since then, so I think it better to drop its experimental tag altogether.
>
> If there's no opposition to that, I can submit that patch separately.
Just saw your patch.
As long as Olivier and you are comfortable this API is mature enough,
I am fine with anything :-).
<snip>
>
> Hello Honnappa,
>
> On Fri, May 22, 2020 at 4:16 PM Honnappa Nagarahalli
> <Honnappa.Nagarahalli@arm.com> wrote:
> > > @@ -11,7 +11,8 @@
> > > * Wireless base band device abstraction APIs.
> > > *
> > > * @warning
> > > - * @b EXPERIMENTAL: this API may change without prior notice
> > > + * @b EXPERIMENTAL:
> > > + * All functions in this file may change or disappear without prior notice.
> > nit, is 'removed' a better choice instead of 'disappear'? May be something
> like:
> > All functions in this file may be changed or removed without prior notice.
>
> I used the same form than in the abi policy (that I wanted but forgot to
> update in patch 1 afterwards... will be fixed in v2).
>
> #. Libraries or APIs marked as :ref:`experimental <experimental_apis>` may
> change without constraint, as they are not considered part of an ABI version.
> Experimental libraries have the major ABI version ``0``.
>
> No strong opinion, but I prefer keeping a single phrasing.
> If we go with your suggestion, I will update the abi policy.
Agree on using the same wording.
IMO, we should capture the 'removed/disappear' wording in the ABI policy.
>
>
> --
> David Marchand
@@ -11,7 +11,8 @@
* Wireless base band device abstraction APIs.
*
* @warning
- * @b EXPERIMENTAL: this API may change without prior notice
+ * @b EXPERIMENTAL:
+ * All functions in this file may change or disappear without prior notice.
*
* This API allows an application to discover, configure and use a device to
* process operations. An asynchronous API (enqueue, followed by later dequeue)
@@ -7,9 +7,13 @@
/**
* @file rte_bpf.h
- * @b EXPERIMENTAL: this API may change without prior notice
*
* RTE BPF support.
+ *
+ * @warning
+ * @b EXPERIMENTAL:
+ * All functions in this file may change or disappear without prior notice.
+ *
* librte_bpf provides a framework to load and execute eBPF bytecode
* inside user-space dpdk based applications.
* It supports basic set of features from eBPF spec
@@ -8,7 +8,11 @@
/**
* @file rte_compressdev.h
*
- * RTE Compression Device APIs
+ * RTE Compression Device APIs.
+ *
+ * @warning
+ * @b EXPERIMENTAL:
+ * All functions in this file may change or disappear without prior notice.
*
* Defines comp device APIs for the provisioning of compression operations.
*/
@@ -8,6 +8,13 @@
/**
* @file
+ *
+ * RTE FIB library.
+ *
+ * @warning
+ * @b EXPERIMENTAL:
+ * All functions in this file may change or disappear without prior notice.
+ *
* FIB (Forwarding information base) implementation
* for IPv4 Longest Prefix Match
*/
@@ -8,6 +8,13 @@
/**
* @file
+ *
+ * RTE FIB6 library.
+ *
+ * @warning
+ * @b EXPERIMENTAL:
+ * All functions in this file may change or disappear without prior notice.
+ *
* FIB (Forwarding information base) implementation
* for IPv6 Longest Prefix Match
*/
@@ -8,9 +8,11 @@
/**
* @file
*
- * RTE Flow Classify Library
+ * RTE Flow Classify Library.
*
- * @b EXPERIMENTAL: this API may change without prior notice
+ * @warning
+ * @b EXPERIMENTAL:
+ * All functions in this file may change or disappear without prior notice.
*
* This library provides flow record information with some measured properties.
*
@@ -7,9 +7,13 @@
/**
* @file rte_ipsec.h
- * @b EXPERIMENTAL: this API may change without prior notice
*
* RTE IPsec support.
+ *
+ * @warning
+ * @b EXPERIMENTAL:
+ * All functions in this file may change or disappear without prior notice.
+ *
* librte_ipsec provides a framework for data-path IPsec protocol
* processing (ESP/AH).
*/
@@ -7,7 +7,12 @@
/**
* @file
- * RTE Quiescent State Based Reclamation (QSBR)
+ *
+ * RTE Quiescent State Based Reclamation (QSBR).
+ *
+ * @warning
+ * @b EXPERIMENTAL:
+ * All functions in this file may change or disappear without prior notice.
*
* Quiescent State (QS) is any point in the thread execution
* where the thread does not hold a reference to a data structure
@@ -8,6 +8,13 @@
/**
* @file
+ *
+ * RTE RIB library.
+ *
+ * @warning
+ * @b EXPERIMENTAL:
+ * All functions in this file may change or disappear without prior notice.
+ *
* Level compressed tree implementation for IPv4 Longest Prefix Match
*/
@@ -8,6 +8,13 @@
/**
* @file
+ *
+ * RTE rib6 library.
+ *
+ * @warning
+ * @b EXPERIMENTAL:
+ * All functions in this file may change or disappear without prior notice.
+ *
* Level compressed tree implementation for IPv6 Longest Prefix Match
*/
@@ -4,9 +4,12 @@
/**
* @file rte_stack.h
- * @b EXPERIMENTAL: this API may change without prior notice
*
- * RTE Stack
+ * RTE Stack.
+ *
+ * @warning
+ * @b EXPERIMENTAL:
+ * All functions in this file may change or disappear without prior notice.
*
* librte_stack provides an API for configuration and use of a bounded stack of
* pointers. Push and pop operations are MT-safe, allowing concurrent access,
@@ -20,11 +20,13 @@
#define RTE_TEL_MAX_ARRAY_ENTRIES 512
/**
- * @warning
- * @b EXPERIMENTAL: all functions in this file may change without prior notice
- *
* @file
- * RTE Telemetry
+ *
+ * RTE Telemetry.
+ *
+ * @warning
+ * @b EXPERIMENTAL:
+ * All functions in this file may change or disappear without prior notice.
*
* The telemetry library provides a method to retrieve statistics from
* DPDK by sending a request message over a socket. DPDK will send