lib/bpf: remove experimental tag

Message ID 20200901144948.1978757-1-conor.walsh@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series lib/bpf: remove experimental tag |

Checks

Context Check Description
ci/iol-intel-Functional success Functional Testing PASS
ci/travis-robot success Travis build: passed
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Conor Walsh Sept. 1, 2020, 2:49 p.m. UTC
  The BPF lib was introduced in 18.05.
There were no changes in it's public API since 19.11.
It should be mature enough to remove it's 'experimental' tag.

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 MAINTAINERS                        |  2 +-
 lib/librte_bpf/rte_bpf.h           | 10 ----------
 lib/librte_bpf/rte_bpf_ethdev.h    |  5 -----
 lib/librte_bpf/rte_bpf_version.map |  2 +-
 4 files changed, 2 insertions(+), 17 deletions(-)
  

Comments

Ananyev, Konstantin Sept. 8, 2020, 11:34 a.m. UTC | #1
> 
> The BPF lib was introduced in 18.05.
> There were no changes in it's public API since 19.11.
> It should be mature enough to remove it's 'experimental' tag.
> 
> Signed-off-by: Conor Walsh <conor.walsh@intel.com>
> ---

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

> 2.25.1
  
David Marchand Sept. 8, 2020, 3:18 p.m. UTC | #2
On Tue, Sep 1, 2020 at 4:50 PM Conor Walsh <conor.walsh@intel.com> wrote:
>
> The BPF lib was introduced in 18.05.
> There were no changes in it's public API since 19.11.
> It should be mature enough to remove it's 'experimental' tag.

Should RTE_BPF_XTYPE_NUM be dropped?
  
Ananyev, Konstantin Sept. 8, 2020, 3:55 p.m. UTC | #3
> 
> On Tue, Sep 1, 2020 at 4:50 PM Conor Walsh <conor.walsh@intel.com> wrote:
> >
> > The BPF lib was introduced in 18.05.
> > There were no changes in it's public API since 19.11.
> > It should be mature enough to remove it's 'experimental' tag.
> 
> Should RTE_BPF_XTYPE_NUM be dropped?

Good catch, thanks.
Yes I agree, we probably better do it now to avoid ABI problems in future.
  

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index f66772908..a14347f04 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1492,7 +1492,7 @@  F: app/test/test_telemetry*
 F: usertools/dpdk-telemetry*
 F: doc/guides/howto/telemetry.rst
 
-BPF - EXPERIMENTAL
+BPF
 M: Konstantin Ananyev <konstantin.ananyev@intel.com>
 F: lib/librte_bpf/
 F: examples/bpf/
diff --git a/lib/librte_bpf/rte_bpf.h b/lib/librte_bpf/rte_bpf.h
index e2d419b4e..be17b830e 100644
--- a/lib/librte_bpf/rte_bpf.h
+++ b/lib/librte_bpf/rte_bpf.h
@@ -10,10 +10,6 @@ 
  *
  * RTE BPF support.
  *
- * @warning
- * @b EXPERIMENTAL:
- * All functions in this file may be changed or removed 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
@@ -117,7 +113,6 @@  struct rte_bpf;
  * @param bpf
  *   BPF handle to destroy.
  */
-__rte_experimental
 void
 rte_bpf_destroy(struct rte_bpf *bpf);
 
@@ -133,7 +128,6 @@  rte_bpf_destroy(struct rte_bpf *bpf);
  *   - EINVAL - invalid parameter passed to function
  *   - ENOMEM - can't reserve enough memory
  */
-__rte_experimental
 struct rte_bpf *
 rte_bpf_load(const struct rte_bpf_prm *prm);
 
@@ -157,7 +151,6 @@  rte_bpf_load(const struct rte_bpf_prm *prm);
  *   - EINVAL - invalid parameter passed to function
  *   - ENOMEM - can't reserve enough memory
  */
-__rte_experimental
 struct rte_bpf *
 rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname,
 		const char *sname);
@@ -171,7 +164,6 @@  rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname,
  * @return
  *   BPF execution return value.
  */
-__rte_experimental
 uint64_t
 rte_bpf_exec(const struct rte_bpf *bpf, void *ctx);
 
@@ -189,7 +181,6 @@  rte_bpf_exec(const struct rte_bpf *bpf, void *ctx);
  * @return
  *   number of successfully processed inputs.
  */
-__rte_experimental
 uint32_t
 rte_bpf_exec_burst(const struct rte_bpf *bpf, void *ctx[], uint64_t rc[],
 		uint32_t num);
@@ -205,7 +196,6 @@  rte_bpf_exec_burst(const struct rte_bpf *bpf, void *ctx[], uint64_t rc[],
  *   - -EINVAL if the parameters are invalid.
  *   - Zero if operation completed successfully.
  */
-__rte_experimental
 int
 rte_bpf_get_jit(const struct rte_bpf *bpf, struct rte_bpf_jit *jit);
 
diff --git a/lib/librte_bpf/rte_bpf_ethdev.h b/lib/librte_bpf/rte_bpf_ethdev.h
index 0ce526e39..135062c9e 100644
--- a/lib/librte_bpf/rte_bpf_ethdev.h
+++ b/lib/librte_bpf/rte_bpf_ethdev.h
@@ -7,7 +7,6 @@ 
 
 /**
  * @file rte_bpf_ethdev.h
- * @b EXPERIMENTAL: this API may change without prior notice
  *
  * API to install BPF filter as RX/TX callbacks for eth devices.
  * Note that right now:
@@ -45,7 +44,6 @@  enum {
  * @param queue
  *   The identifier of the RX queue on the given port
  */
-__rte_experimental
 void
 rte_bpf_eth_rx_unload(uint16_t port, uint16_t queue);
 
@@ -58,7 +56,6 @@  rte_bpf_eth_rx_unload(uint16_t port, uint16_t queue);
  * @param queue
  *   The identifier of the TX queue on the given port
  */
-__rte_experimental
 void
 rte_bpf_eth_tx_unload(uint16_t port, uint16_t queue);
 
@@ -82,7 +79,6 @@  rte_bpf_eth_tx_unload(uint16_t port, uint16_t queue);
  * @return
  *   Zero on successful completion or negative error code otherwise.
  */
-__rte_experimental
 int
 rte_bpf_eth_rx_elf_load(uint16_t port, uint16_t queue,
 	const struct rte_bpf_prm *prm, const char *fname, const char *sname,
@@ -108,7 +104,6 @@  rte_bpf_eth_rx_elf_load(uint16_t port, uint16_t queue,
  * @return
  *   Zero on successful completion or negative error code otherwise.
  */
-__rte_experimental
 int
 rte_bpf_eth_tx_elf_load(uint16_t port, uint16_t queue,
 	const struct rte_bpf_prm *prm, const char *fname, const char *sname,
diff --git a/lib/librte_bpf/rte_bpf_version.map b/lib/librte_bpf/rte_bpf_version.map
index a203e088e..b75a0034b 100644
--- a/lib/librte_bpf/rte_bpf_version.map
+++ b/lib/librte_bpf/rte_bpf_version.map
@@ -1,4 +1,4 @@ 
-EXPERIMENTAL {
+DPDK_21 {
 	global:
 
 	rte_bpf_destroy;