bpf: promote library as stable

The BPF lib was introduced in 18.05.
There were no changes in its public API since 19.11.
It should be mature enough to remove its 'experimental' tag.
RTE_BPF_XTYPE_NUM is also being dropped from rte_bpf_xtype to
avoid possible ABI problems in the future.

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
This commit is contained in:
Conor Walsh 2020-09-14 14:11:42 +00:00 committed by David Marchand
parent f484baeeb6
commit dc18be1d8b
5 changed files with 6 additions and 20 deletions

View File

@ -1474,7 +1474,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/

View File

@ -100,6 +100,8 @@ API Changes
and the function ``rte_rawdev_queue_conf_get()``
from ``void`` to ``int`` allowing the return of error codes from drivers.
* bpf: ``RTE_BPF_XTYPE_NUM`` has been dropped from ``rte_bpf_xtype``.
ABI Changes
-----------

View File

@ -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);

View File

@ -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,

View File

@ -1,4 +1,4 @@
EXPERIMENTAL {
DPDK_21 {
global:
rte_bpf_destroy;