22 #ifndef __ADJ_MIDCHAIN_H__ 23 #define __ADJ_MIDCHAIN_H__ 49 const void *fixup_data,
int adj_ndr_midchain_recursive_loop_detect(adj_index_t ai, fib_node_index_t **entry_indicies)
descend the FIB graph looking for loops
void adj_midchain_delegate_stack(adj_index_t ai, u32 fib_index, const fib_prefix_t *pfx)
create/attach a midchain delegate and stack it on the prefix passed
void adj_nbr_midchain_unstack(adj_index_t adj_index)
unstack a midchain.
u8 * format_adj_midchain(u8 *s, va_list *ap)
Format a midchain adjacency.
void adj_nbr_midchain_stack(adj_index_t adj_index, const dpo_id_t *dpo)
[re]stack a midchain.
Aggregate type for a prefix.
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
void adj_midchain_delegate_restack(adj_index_t ai)
restack a midchain delegate
void adj_nbr_midchain_stack_on_fib_entry(adj_index_t adj_index, fib_node_index_t fei, fib_forward_chain_type_t fct)
[re]stack a midchain.
u32 fib_node_index_t
A typedef of a node index.
void(* adj_midchain_fixup_t)(vlib_main_t *vm, struct ip_adjacency_t_ *adj, vlib_buffer_t *b0, const void *data)
A function type for post-rewrite fixups on midchain adjacency.
u32 adj_index_t
An index for adjacencies.
void adj_midchain_delegate_unstack(adj_index_t ai)
unstack a midchain delegate (this stacks it on a drop)
enum fib_forward_chain_type_t_ fib_forward_chain_type_t
FIB output chain type.
enum adj_flags_t_ adj_flags_t
Flags on an IP adjacency.
void adj_nbr_midchain_update_rewrite(adj_index_t adj_index, adj_midchain_fixup_t fixup, const void *fixup_data, adj_flags_t flags, u8 *rewrite)
Midchain Adjacency sub-type.
void adj_midchain_module_init(void)
Module initialisation.