X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Ffib%2Frte_fib.h;h=90f28b7e11ad789e0654f2b93de6668c8f785770;hb=a2dfcd1ff609f5a4fd3b65774618a35c5c9f73c6;hp=acad20963c936d0dc4989973d74a5648d2b10dae;hpb=99a2dd955fba6e4cc23b77d590a033650ced9c45;p=dpdk.git diff --git a/lib/fib/rte_fib.h b/lib/fib/rte_fib.h index acad20963c..90f28b7e11 100644 --- a/lib/fib/rte_fib.h +++ b/lib/fib/rte_fib.h @@ -11,17 +11,12 @@ * * RTE FIB library. * - * @warning - * @b EXPERIMENTAL: - * All functions in this file may be changed or removed without prior notice. - * * FIB (Forwarding information base) implementation * for IPv4 Longest Prefix Match */ #include -#include #ifdef __cplusplus extern "C" { @@ -84,6 +79,8 @@ struct rte_fib_conf { /** Default value returned on lookup if there is no route */ uint64_t default_nh; int max_routes; + /** Size of the node extension in the internal RIB struct */ + unsigned int rib_ext_sz; union { struct { enum rte_fib_dir24_8_nh_sz nh_sz; @@ -105,7 +102,6 @@ struct rte_fib_conf { * Handle to the FIB object on success * NULL otherwise with rte_errno set to an appropriate values. */ -__rte_experimental struct rte_fib * rte_fib_create(const char *name, int socket_id, struct rte_fib_conf *conf); @@ -119,7 +115,6 @@ rte_fib_create(const char *name, int socket_id, struct rte_fib_conf *conf); * set appropriately. Possible rte_errno values include: * - ENOENT - required entry not available to return. */ -__rte_experimental struct rte_fib * rte_fib_find_existing(const char *name); @@ -131,7 +126,6 @@ rte_fib_find_existing(const char *name); * @return * None */ -__rte_experimental void rte_fib_free(struct rte_fib *fib); @@ -149,7 +143,6 @@ rte_fib_free(struct rte_fib *fib); * @return * 0 on success, negative value otherwise */ -__rte_experimental int rte_fib_add(struct rte_fib *fib, uint32_t ip, uint8_t depth, uint64_t next_hop); @@ -165,7 +158,6 @@ rte_fib_add(struct rte_fib *fib, uint32_t ip, uint8_t depth, uint64_t next_hop); * @return * 0 on success, negative value otherwise */ -__rte_experimental int rte_fib_delete(struct rte_fib *fib, uint32_t ip, uint8_t depth); @@ -186,7 +178,6 @@ rte_fib_delete(struct rte_fib *fib, uint32_t ip, uint8_t depth); * @return * -EINVAL for incorrect arguments, otherwise 0 */ -__rte_experimental int rte_fib_lookup_bulk(struct rte_fib *fib, uint32_t *ips, uint64_t *next_hops, int n); @@ -197,9 +188,8 @@ rte_fib_lookup_bulk(struct rte_fib *fib, uint32_t *ips, * FIB object handle * @return * Pointer on the dataplane struct on success - * NULL othervise + * NULL otherwise */ -__rte_experimental void * rte_fib_get_dp(struct rte_fib *fib); @@ -210,9 +200,8 @@ rte_fib_get_dp(struct rte_fib *fib); * FIB object handle * @return * Pointer on the RIB on success - * NULL othervise + * NULL otherwise */ -__rte_experimental struct rte_rib * rte_fib_get_rib(struct rte_fib *fib); @@ -228,7 +217,6 @@ rte_fib_get_rib(struct rte_fib *fib); * 0 on success * -EINVAL on failure */ -__rte_experimental int rte_fib_select_lookup(struct rte_fib *fib, enum rte_fib_lookup_type type);