From patchwork Mon Sep 14 14:11:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Conor Walsh X-Patchwork-Id: 77611 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 510A1A04C7; Mon, 14 Sep 2020 16:11:51 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2E6A01BE95; Mon, 14 Sep 2020 16:11:51 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 0DA44E07 for ; Mon, 14 Sep 2020 16:11:48 +0200 (CEST) IronPort-SDR: wq9TYt1jf8G4Dj5dwDJ9GK8FtYUcsp2RazVG7jqdC1eQ6yQs6ziFGB3b2eVRR01tiTkj68moo/ Zf6lXb9UvGcA== X-IronPort-AV: E=McAfee;i="6000,8403,9743"; a="243913296" X-IronPort-AV: E=Sophos;i="5.76,426,1592895600"; d="scan'208";a="243913296" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Sep 2020 07:11:46 -0700 IronPort-SDR: beAMqaqGvIpqThZJiBePFEOag3jZ8/32ytXwDEflbU8/X2M1vb6Wy7drDpgEmjK+YHXP7l7FjQ wZA4FlTU7wSQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,426,1592895600"; d="scan'208";a="345444953" Received: from silpixa00400466.ir.intel.com ([10.237.213.195]) by orsmga007.jf.intel.com with ESMTP; 14 Sep 2020 07:11:45 -0700 From: Conor Walsh To: dev@dpdk.org, konstantin.ananyev@intel.com Cc: david.marchand@redhat.com, Conor Walsh Date: Mon, 14 Sep 2020 14:11:42 +0000 Message-Id: <20200914141142.273601-1-conor.walsh@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200914125621.272304-1-conor.walsh@intel.com> References: <20200914125621.272304-1-conor.walsh@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3] bpf: remove experimental tag X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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. Acked-by: Konstantin Ananyev Acked-by: Konstantin Ananyev --- 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 --- 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 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;