|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
index_t dpoi_index
the index of objects of that type
void ip4_mtrie_16_init(ip4_mtrie_16_t *m)
Initialise an mtrie.
const fib_prefix_t * fib_entry_get_prefix(fib_node_index_t fib_entry_index)
index_t ip4_fib_hash_table_lookup_lb(const ip4_fib_hash_t *fib, const ip4_address_t *addr)
void ip4_fib_hash_table_entry_remove(ip4_fib_hash_t *fib, const ip4_address_t *addr, u32 len)
void ip4_fib_16_table_fwding_dpo_remove(ip4_fib_16_t *fib, const ip4_address_t *addr, u32 len, const dpo_id_t *dpo, u32 cover_index)
fib_node_index_t ip4_fib_16_table_lookup_exact_match(const ip4_fib_16_t *fib, const ip4_address_t *addr, u32 len)
ip4_fib_hash_t hash
The hash table DB.
void ip4_fib_16_table_entry_insert(ip4_fib_16_t *fib, const ip4_address_t *addr, u32 len, fib_node_index_t fib_entry_index)
u16 fp_len
The mask length.
void ip4_fib_16_table_sub_tree_walk(ip4_fib_16_t *fib, const fib_prefix_t *root, fib_table_walk_fn_t fn, void *ctx)
Walk all entries in a sub-tree of the FIB table N.B: This is NOT safe to deletes.
void ip4_mtrie_16_free(ip4_mtrie_16_t *m)
Free an mtrie, It must be empty when free'd.
void ip4_fib_hash_table_entry_insert(ip4_fib_hash_t *fib, const ip4_address_t *addr, u32 len, fib_node_index_t fib_entry_index)
void ip4_fib_hash_table_sub_tree_walk(ip4_fib_hash_t *fib, const fib_prefix_t *root, fib_table_walk_fn_t fn, void *ctx)
Walk all entries in a sub-tree of the FIB table N.B: This is NOT safe to deletes.
fib_node_index_t ip4_fib_hash_table_lookup_exact_match(const ip4_fib_hash_t *fib, const ip4_address_t *addr, u32 len)
void ip4_fib_16_table_free(ip4_fib_16_t *fib)
const dpo_id_t * fib_entry_contribute_ip_forwarding(fib_node_index_t fib_entry_index)
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
u32 fib_node_index_t
A typedef of a node index.
ip4_fib_16_t * ip4_fib_16s
fib_table_walk_rc_t(* fib_table_walk_fn_t)(fib_node_index_t fei, void *ctx)
Call back function when walking entries in a FIB table.
void ip4_mtrie_16_route_del(ip4_mtrie_16_t *m, const ip4_address_t *dst_address, u32 dst_address_length, u32 adj_index, u32 cover_address_length, u32 cover_adj_index)
remove a route/entry to the mtrie
fib_node_index_t ip4_fib_hash_table_lookup(const ip4_fib_hash_t *fib, const ip4_address_t *addr, u32 len)
fib_node_index_t ip4_fib_16_table_lookup(const ip4_fib_16_t *fib, const ip4_address_t *addr, u32 len)
index_t ip4_fib_16_table_lookup_lb(ip4_fib_16_t *fib, const ip4_address_t *addr)
void ip4_fib_16_table_walk(ip4_fib_16_t *fib, fib_table_walk_fn_t fn, void *ctx)
Walk all entries in a FIB table N.B: This is NOT safe to deletes.
void ip4_mtrie_16_route_add(ip4_mtrie_16_t *m, const ip4_address_t *dst_address, u32 dst_address_length, u32 adj_index)
Add a route/entry to the mtrie.
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
void ip4_fib_16_table_init(ip4_fib_16_t *fib)
ip4_mtrie_16_t mtrie
Mtrie for fast lookups.
void ip4_fib_16_table_entry_remove(ip4_fib_16_t *fib, const ip4_address_t *addr, u32 len)
Aggregate type for a prefix.
void ip4_fib_16_table_fwding_dpo_update(ip4_fib_16_t *fib, const ip4_address_t *addr, u32 len, const dpo_id_t *dpo)
void ip4_fib_hash_table_walk(ip4_fib_hash_t *fib, fib_table_walk_fn_t fn, void *ctx)
Walk all entries in a FIB table N.B: This is NOT safe to deletes.