From 4aeb92396b852a9bdb9024b5d1ba76baf23d805b Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Tue, 31 Aug 2021 14:49:38 -0700 Subject: [PATCH] rib: promote API to stable The rib and rib6 API's have been in since 19.11 and should be marked as stable. Signed-off-by: Stephen Hemminger Acked-by: Vladimir Medvedkin --- 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 ec97079c35..bebb30f7d7 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 dbd52928a2..6f532265c6 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 9b6161a092..6eb1252acb 100644 --- a/lib/rib/version.map +++ b/lib/rib/version.map @@ -1,4 +1,4 @@ -EXPERIMENTAL { +DPDK_22 { global: rte_rib_create; -- 2.20.1