*
* RTE FIB6 library.
*
- * @warning
- * @b EXPERIMENTAL:
- * All functions in this file may be changed or removed without prior notice.
- *
* FIB (Forwarding information base) implementation
* for IPv6 Longest Prefix Match
*/
#include <stdint.h>
-#include <rte_compat.h>
#ifdef __cplusplus
extern "C" {
/** 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_trie_nh_sz nh_sz;
* Handle to FIB object on success
* NULL otherwise with rte_errno set to an appropriate values.
*/
-__rte_experimental
struct rte_fib6 *
rte_fib6_create(const char *name, int socket_id, struct rte_fib6_conf *conf);
* set appropriately. Possible rte_errno values include:
* - ENOENT - required entry not available to return.
*/
-__rte_experimental
struct rte_fib6 *
rte_fib6_find_existing(const char *name);
* @return
* None
*/
-__rte_experimental
void
rte_fib6_free(struct rte_fib6 *fib);
* @return
* 0 on success, negative value otherwise
*/
-__rte_experimental
int
rte_fib6_add(struct rte_fib6 *fib, const uint8_t ip[RTE_FIB6_IPV6_ADDR_SIZE],
uint8_t depth, uint64_t next_hop);
* @return
* 0 on success, negative value otherwise
*/
-__rte_experimental
int
rte_fib6_delete(struct rte_fib6 *fib,
const uint8_t ip[RTE_FIB6_IPV6_ADDR_SIZE], uint8_t depth);
* @return
* -EINVAL for incorrect arguments, otherwise 0
*/
-__rte_experimental
int
rte_fib6_lookup_bulk(struct rte_fib6 *fib,
uint8_t ips[][RTE_FIB6_IPV6_ADDR_SIZE],
* FIB6 object handle
* @return
* Pointer on the dataplane struct on success
- * NULL othervise
+ * NULL otherwise
*/
-__rte_experimental
void *
rte_fib6_get_dp(struct rte_fib6 *fib);
* FIB object handle
* @return
* Pointer on the RIB6 on success
- * NULL othervise
+ * NULL otherwise
*/
-__rte_experimental
struct rte_rib6 *
rte_fib6_get_rib(struct rte_fib6 *fib);
* 0 on success
* -EINVAL on failure
*/
-__rte_experimental
int
rte_fib6_select_lookup(struct rte_fib6 *fib, enum rte_fib6_lookup_type type);