DPDK patches and discussions
 help / color / mirror / Atom feed
From: Conor Walsh <conor.walsh@intel.com>
To: dev@dpdk.org, konstantin.ananyev@intel.com
Cc: david.marchand@redhat.com, Conor Walsh <conor.walsh@intel.com>
Subject: [dpdk-dev] [PATCH v3] bpf: remove experimental tag
Date: Mon, 14 Sep 2020 14:11:42 +0000
Message-ID: <20200914141142.273601-1-conor.walsh@intel.com> (raw)
In-Reply-To: <20200914125621.272304-1-conor.walsh@intel.com>

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.
RTE_BPF_XTYPE_NUM is also being dropped from rte_bpf_xtype to
avoid possible ABI problems in the future.

---
v2: RTE_BPF_XTYPE_NUM dropped from rte_bpf_xtype

---
v3: fix commit title and move from ABI to API in release notes

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 MAINTAINERS                            |  2 +-
 doc/guides/rel_notes/release_20_11.rst |  2 ++
 lib/librte_bpf/rte_bpf.h               | 15 ++-------------
 lib/librte_bpf/rte_bpf_ethdev.h        |  5 -----
 lib/librte_bpf/rte_bpf_version.map     |  2 +-
 5 files changed, 6 insertions(+), 20 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index ed163f5d5..742c5eb24 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/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a177..f37a0ae48 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,8 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* bpf: ``RTE_BPF_XTYPE_NUM`` has been dropped from ``rte_bpf_xtype``
+
 
 ABI Changes
 -----------
diff --git a/lib/librte_bpf/rte_bpf.h b/lib/librte_bpf/rte_bpf.h
index e2d419b4e..69116f36b 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
@@ -36,7 +32,7 @@ enum rte_bpf_arg_type {
 	RTE_BPF_ARG_RAW,        /**< scalar value */
 	RTE_BPF_ARG_PTR = 0x10, /**< pointer to data buffer */
 	RTE_BPF_ARG_PTR_MBUF,   /**< pointer to rte_mbuf */
-	RTE_BPF_ARG_RESERVED,   /**< reserved for internal use */
+	RTE_BPF_ARG_RESERVED    /**< reserved for internal use */
 };
 
 /**
@@ -63,8 +59,7 @@ struct rte_bpf_arg {
  */
 enum rte_bpf_xtype {
 	RTE_BPF_XTYPE_FUNC, /**< function */
-	RTE_BPF_XTYPE_VAR,  /**< variable */
-	RTE_BPF_XTYPE_NUM
+	RTE_BPF_XTYPE_VAR   /**< variable */
 };
 
 /**
@@ -117,7 +112,6 @@ struct rte_bpf;
  * @param bpf
  *   BPF handle to destroy.
  */
-__rte_experimental
 void
 rte_bpf_destroy(struct rte_bpf *bpf);
 
@@ -133,7 +127,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 +150,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 +163,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 +180,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 +195,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;
-- 
2.25.1


  reply	other threads:[~2020-09-14 14:11 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-01 14:49 [dpdk-dev] [PATCH] lib/bpf: " Conor Walsh
2020-09-08 11:34 ` Ananyev, Konstantin
2020-09-08 15:18 ` David Marchand
2020-09-08 15:55   ` Ananyev, Konstantin
2020-09-14 12:56 ` [dpdk-dev] [PATCH v2] " Conor Walsh
2020-09-14 14:11   ` Conor Walsh [this message]
2020-09-16 11:21     ` [dpdk-dev] [PATCH v3] bpf: " Ananyev, Konstantin
2020-09-16 16:58     ` David Marchand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200914141142.273601-1-conor.walsh@intel.com \
    --to=conor.walsh@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=konstantin.ananyev@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git