From: "Medvedkin, Vladimir" <vladimir.medvedkin@intel.com>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH] rib: promote experimental API's to stable
Date: Wed, 1 Sep 2021 21:15:54 +0200 [thread overview]
Message-ID: <e1a78320-b1d6-cfe4-eb84-e3d5eb3e6390@intel.com> (raw)
In-Reply-To: <20210831214938.141861-1-stephen@networkplumber.org>
Hi Stephen,
Thanks!
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
On 31/08/2021 23:49, Stephen Hemminger wrote:
> The rib and rib6 API's have been in since 19.11 and
> should be marked as stable.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> lib/rib/rte_rib.h | 18 ------------------
> lib/rib/rte_rib6.h | 18 ------------------
> lib/rib/version.map | 2 +-
> 3 files changed, 1 insertion(+), 37 deletions(-)
>
> diff --git a/lib/rib/rte_rib.h b/lib/rib/rte_rib.h
> index ec97079c3565..bebb30f7d7cf 100644
> --- a/lib/rib/rte_rib.h
> +++ b/lib/rib/rte_rib.h
> @@ -11,10 +11,6 @@
> *
> * RTE RIB library.
> *
> - * @warning
> - * @b EXPERIMENTAL:
> - * All functions in this file may be changed or removed without prior notice.
> - *
> * Level compressed tree implementation for IPv4 Longest Prefix Match
> */
>
> @@ -78,7 +74,6 @@ rte_rib_depth_to_mask(uint8_t depth)
> * pointer to struct rte_rib_node on success
> * NULL otherwise
> */
> -__rte_experimental
> struct rte_rib_node *
> rte_rib_lookup(struct rte_rib *rib, uint32_t ip);
>
> @@ -92,7 +87,6 @@ rte_rib_lookup(struct rte_rib *rib, uint32_t ip);
> * less specific route on success
> * NULL otherwise
> */
> -__rte_experimental
> struct rte_rib_node *
> rte_rib_lookup_parent(struct rte_rib_node *ent);
>
> @@ -109,7 +103,6 @@ rte_rib_lookup_parent(struct rte_rib_node *ent);
> * pointer to struct rte_rib_node on success
> * NULL otherwise
> */
> -__rte_experimental
> struct rte_rib_node *
> rte_rib_lookup_exact(struct rte_rib *rib, uint32_t ip, uint8_t depth);
>
> @@ -136,7 +129,6 @@ rte_rib_lookup_exact(struct rte_rib *rib, uint32_t ip, uint8_t depth);
> * pointer to the next more specific prefix
> * NULL if there is no prefixes left
> */
> -__rte_experimental
> struct rte_rib_node *
> rte_rib_get_nxt(struct rte_rib *rib, uint32_t ip, uint8_t depth,
> struct rte_rib_node *last, int flag);
> @@ -151,7 +143,6 @@ rte_rib_get_nxt(struct rte_rib *rib, uint32_t ip, uint8_t depth,
> * @param depth
> * prefix length
> */
> -__rte_experimental
> void
> rte_rib_remove(struct rte_rib *rib, uint32_t ip, uint8_t depth);
>
> @@ -168,7 +159,6 @@ rte_rib_remove(struct rte_rib *rib, uint32_t ip, uint8_t depth);
> * pointer to new rte_rib_node on success
> * NULL otherwise
> */
> -__rte_experimental
> struct rte_rib_node *
> rte_rib_insert(struct rte_rib *rib, uint32_t ip, uint8_t depth);
>
> @@ -183,7 +173,6 @@ rte_rib_insert(struct rte_rib *rib, uint32_t ip, uint8_t depth);
> * 0 on success.
> * -1 on failure with rte_errno indicating reason for failure.
> */
> -__rte_experimental
> int
> rte_rib_get_ip(const struct rte_rib_node *node, uint32_t *ip);
>
> @@ -198,7 +187,6 @@ rte_rib_get_ip(const struct rte_rib_node *node, uint32_t *ip);
> * 0 on success.
> * -1 on failure with rte_errno indicating reason for failure.
> */
> -__rte_experimental
> int
> rte_rib_get_depth(const struct rte_rib_node *node, uint8_t *depth);
>
> @@ -212,7 +200,6 @@ rte_rib_get_depth(const struct rte_rib_node *node, uint8_t *depth);
> * @return
> * pointer to the ext
> */
> -__rte_experimental
> void *
> rte_rib_get_ext(struct rte_rib_node *node);
>
> @@ -227,7 +214,6 @@ rte_rib_get_ext(struct rte_rib_node *node);
> * 0 on success.
> * -1 on failure with rte_errno indicating reason for failure.
> */
> -__rte_experimental
> int
> rte_rib_get_nh(const struct rte_rib_node *node, uint64_t *nh);
>
> @@ -242,7 +228,6 @@ rte_rib_get_nh(const struct rte_rib_node *node, uint64_t *nh);
> * 0 on success.
> * -1 on failure with rte_errno indicating reason for failure.
> */
> -__rte_experimental
> int
> rte_rib_set_nh(struct rte_rib_node *node, uint64_t nh);
>
> @@ -259,7 +244,6 @@ rte_rib_set_nh(struct rte_rib_node *node, uint64_t nh);
> * Handle to RIB object on success
> * NULL otherwise with rte_errno indicating reason for failure.
> */
> -__rte_experimental
> struct rte_rib *
> rte_rib_create(const char *name, int socket_id,
> const struct rte_rib_conf *conf);
> @@ -273,7 +257,6 @@ rte_rib_create(const char *name, int socket_id,
> * Pointer to RIB object on success
> * NULL otherwise with rte_errno indicating reason for failure.
> */
> -__rte_experimental
> struct rte_rib *
> rte_rib_find_existing(const char *name);
>
> @@ -285,7 +268,6 @@ rte_rib_find_existing(const char *name);
> * @return
> * None
> */
> -__rte_experimental
> void
> rte_rib_free(struct rte_rib *rib);
>
> diff --git a/lib/rib/rte_rib6.h b/lib/rib/rte_rib6.h
> index dbd52928a243..6f532265c657 100644
> --- a/lib/rib/rte_rib6.h
> +++ b/lib/rib/rte_rib6.h
> @@ -11,10 +11,6 @@
> *
> * RTE rib6 library.
> *
> - * @warning
> - * @b EXPERIMENTAL:
> - * All functions in this file may be changed or removed without prior notice.
> - *
> * Level compressed tree implementation for IPv6 Longest Prefix Match
> */
>
> @@ -127,7 +123,6 @@ get_msk_part(uint8_t depth, int byte) {
> * pointer to struct rte_rib6_node on success
> * NULL otherwise
> */
> -__rte_experimental
> struct rte_rib6_node *
> rte_rib6_lookup(struct rte_rib6 *rib,
> const uint8_t ip[RTE_RIB6_IPV6_ADDR_SIZE]);
> @@ -142,7 +137,6 @@ rte_rib6_lookup(struct rte_rib6 *rib,
> * less specific route on success
> * NULL otherwise
> */
> -__rte_experimental
> struct rte_rib6_node *
> rte_rib6_lookup_parent(struct rte_rib6_node *ent);
>
> @@ -159,7 +153,6 @@ rte_rib6_lookup_parent(struct rte_rib6_node *ent);
> * pointer to struct rte_rib6_node on success
> * NULL otherwise
> */
> -__rte_experimental
> struct rte_rib6_node *
> rte_rib6_lookup_exact(struct rte_rib6 *rib,
> const uint8_t ip[RTE_RIB6_IPV6_ADDR_SIZE], uint8_t depth);
> @@ -187,7 +180,6 @@ rte_rib6_lookup_exact(struct rte_rib6 *rib,
> * pointer to the next more specific prefix
> * NULL if there is no prefixes left
> */
> -__rte_experimental
> struct rte_rib6_node *
> rte_rib6_get_nxt(struct rte_rib6 *rib,
> const uint8_t ip[RTE_RIB6_IPV6_ADDR_SIZE],
> @@ -203,7 +195,6 @@ rte_rib6_get_nxt(struct rte_rib6 *rib,
> * @param depth
> * prefix length
> */
> -__rte_experimental
> void
> rte_rib6_remove(struct rte_rib6 *rib,
> const uint8_t ip[RTE_RIB6_IPV6_ADDR_SIZE], uint8_t depth);
> @@ -221,7 +212,6 @@ rte_rib6_remove(struct rte_rib6 *rib,
> * pointer to new rte_rib6_node on success
> * NULL otherwise
> */
> -__rte_experimental
> struct rte_rib6_node *
> rte_rib6_insert(struct rte_rib6 *rib,
> const uint8_t ip[RTE_RIB6_IPV6_ADDR_SIZE], uint8_t depth);
> @@ -237,7 +227,6 @@ rte_rib6_insert(struct rte_rib6 *rib,
> * 0 on success
> * -1 on failure with rte_errno indicating reason for failure.
> */
> -__rte_experimental
> int
> rte_rib6_get_ip(const struct rte_rib6_node *node,
> uint8_t ip[RTE_RIB6_IPV6_ADDR_SIZE]);
> @@ -253,7 +242,6 @@ rte_rib6_get_ip(const struct rte_rib6_node *node,
> * 0 on success
> * -1 on failure with rte_errno indicating reason for failure.
> */
> -__rte_experimental
> int
> rte_rib6_get_depth(const struct rte_rib6_node *node, uint8_t *depth);
>
> @@ -267,7 +255,6 @@ rte_rib6_get_depth(const struct rte_rib6_node *node, uint8_t *depth);
> * @return
> * pointer to the ext
> */
> -__rte_experimental
> void *
> rte_rib6_get_ext(struct rte_rib6_node *node);
>
> @@ -282,7 +269,6 @@ rte_rib6_get_ext(struct rte_rib6_node *node);
> * 0 on success
> * -1 on failure, with rte_errno indicating reason for failure.
> */
> -__rte_experimental
> int
> rte_rib6_get_nh(const struct rte_rib6_node *node, uint64_t *nh);
>
> @@ -297,7 +283,6 @@ rte_rib6_get_nh(const struct rte_rib6_node *node, uint64_t *nh);
> * 0 on success
> * -1 on failure, with rte_errno indicating reason for failure.
> */
> -__rte_experimental
> int
> rte_rib6_set_nh(struct rte_rib6_node *node, uint64_t nh);
>
> @@ -314,7 +299,6 @@ rte_rib6_set_nh(struct rte_rib6_node *node, uint64_t nh);
> * Pointer to RIB object on success
> * NULL otherwise with rte_errno indicating reason for failure.
> */
> -__rte_experimental
> struct rte_rib6 *
> rte_rib6_create(const char *name, int socket_id,
> const struct rte_rib6_conf *conf);
> @@ -328,7 +312,6 @@ rte_rib6_create(const char *name, int socket_id,
> * Pointer to RIB object on success
> * NULL otherwise with rte_errno indicating reason for failure.
> */
> -__rte_experimental
> struct rte_rib6 *
> rte_rib6_find_existing(const char *name);
>
> @@ -340,7 +323,6 @@ rte_rib6_find_existing(const char *name);
> * @return
> * None
> */
> -__rte_experimental
> void
> rte_rib6_free(struct rte_rib6 *rib);
>
> diff --git a/lib/rib/version.map b/lib/rib/version.map
> index 9b6161a09238..6eb1252acb12 100644
> --- a/lib/rib/version.map
> +++ b/lib/rib/version.map
> @@ -1,4 +1,4 @@
> -EXPERIMENTAL {
> +DPDK_22 {
> global:
>
> rte_rib_create;
>
--
Regards,
Vladimir
next prev parent reply other threads:[~2021-09-01 19:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-31 21:49 Stephen Hemminger
2021-09-01 19:15 ` Medvedkin, Vladimir [this message]
2021-10-02 9:00 ` 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=e1a78320-b1d6-cfe4-eb84-e3d5eb3e6390@intel.com \
--to=vladimir.medvedkin@intel.com \
--cc=dev@dpdk.org \
--cc=stephen@networkplumber.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).