24 #include <rte_compat.h>
30 #define RTE_FIB6_IPV6_ADDR_SIZE 16
32 #define RTE_FIB6_MAXDEPTH 128
45 const uint8_t ip[RTE_FIB6_IPV6_ADDR_SIZE], uint8_t depth,
46 uint64_t next_hop,
int op);
49 uint8_t ips[][RTE_FIB6_IPV6_ADDR_SIZE],
50 uint64_t *next_hops,
const unsigned int n);
145 rte_fib6_add(
struct rte_fib6 *fib,
const uint8_t ip[RTE_FIB6_IPV6_ADDR_SIZE],
146 uint8_t depth, uint64_t next_hop);
163 const uint8_t ip[RTE_FIB6_IPV6_ADDR_SIZE], uint8_t depth);
185 uint8_t ips[][RTE_FIB6_IPV6_ADDR_SIZE],
186 uint64_t *next_hops,
int n);
__rte_experimental int rte_fib6_lookup_bulk(struct rte_fib6 *fib, uint8_t ips[][RTE_FIB6_IPV6_ADDR_SIZE], uint64_t *next_hops, int n)
int(* rte_fib6_modify_fn_t)(struct rte_fib6 *fib, const uint8_t ip[RTE_FIB6_IPV6_ADDR_SIZE], uint8_t depth, uint64_t next_hop, int op)
__rte_experimental void rte_fib6_free(struct rte_fib6 *fib)
__rte_experimental void * rte_fib6_get_dp(struct rte_fib6 *fib)
__rte_experimental int rte_fib6_delete(struct rte_fib6 *fib, const uint8_t ip[RTE_FIB6_IPV6_ADDR_SIZE], uint8_t depth)
__rte_experimental struct rte_fib6 * rte_fib6_create(const char *name, int socket_id, struct rte_fib6_conf *conf)
void(* rte_fib6_lookup_fn_t)(void *fib, uint8_t ips[][RTE_FIB6_IPV6_ADDR_SIZE], uint64_t *next_hops, const unsigned int n)
__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)
__rte_experimental struct rte_rib6 * rte_fib6_get_rib(struct rte_fib6 *fib)
__rte_experimental struct rte_fib6 * rte_fib6_find_existing(const char *name)
__rte_experimental int rte_fib6_select_lookup(struct rte_fib6 *fib, enum rte_fib6_lookup_type type)