*
* 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
*/
* 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);
* 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);
* @return
* None
*/
-__rte_experimental
void
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);
* @return
* 0 on success, negative value otherwise
*/
-__rte_experimental
int
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);
* Pointer on the dataplane struct on success
* NULL othervise
*/
-__rte_experimental
void *
rte_fib_get_dp(struct rte_fib *fib);
* Pointer on the RIB on success
* NULL othervise
*/
-__rte_experimental
struct rte_rib *
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);
*
* 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
*/
* 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],
* Pointer on the dataplane struct on success
* NULL othervise
*/
-__rte_experimental
void *
rte_fib6_get_dp(struct rte_fib6 *fib);
* Pointer on the RIB6 on success
* NULL othervise
*/
-__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);