numam-dpdk/lib/librte_fib/trie.h
Vladimir Medvedkin c3e12e0f03 fib: add dataplane algorithm for IPv6
Add fib implementation for ipv6 using modified DIR24_8 algorithm.
Implementation is similar to current LPM6 implementation but has
few enhancements:
faster control plane operations
more bits for userdata in table entries
configurable userdata size

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
2019-11-06 00:11:44 +01:00

38 lines
645 B
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com>
* Copyright(c) 2019 Intel Corporation
*/
#ifndef _TRIE_H_
#define _TRIE_H_
/**
* @file
* RTE IPv6 Longest Prefix Match (LPM)
*/
#ifdef __cplusplus
extern "C" {
#endif
void *
trie_create(const char *name, int socket_id, struct rte_fib6_conf *conf);
void
trie_free(void *p);
rte_fib6_lookup_fn_t
rte_trie_get_lookup_fn(struct rte_fib6_conf *fib_conf);
int
trie_modify(struct rte_fib6 *fib, const uint8_t ip[RTE_FIB6_IPV6_ADDR_SIZE],
uint8_t depth, uint64_t next_hop, int op);
#ifdef __cplusplus
}
#endif
#endif /* _TRIE_H_ */