31 case BFD_STATE_admin_down:
61 const bfd_udp_key_t *key;
64 if (BFD_HOP_TYPE_MULTI != session->
hop_type)
92 case BFD_LISTEN_EVENT_CREATE:
129 case BFD_LISTEN_EVENT_UPDATE:
149 case BFD_LISTEN_EVENT_DELETE:
Recursive resolution source.
void fib_entry_unlock(fib_node_index_t fib_entry_index)
static fib_bfd_state_t fib_bfd_bfd_state_to_fib(bfd_state_e bstate)
fib_node_index_t fib_table_lookup_exact_match(u32 fib_index, const fib_prefix_t *prefix)
Perfom an exact match in the non-forwarding table.
void fib_bfd_notify(bfd_listen_event_e event, const bfd_session_t *session)
Callback function registered with BFD module to receive notifications of the CRUD of BFD sessions wou...
fib_bfd_state_t fd_bfd_state
BFD state.
#define VLIB_INIT_FUNCTION(x)
void fib_entry_delegate_remove(fib_entry_t *fib_entry, fib_entry_delegate_type_t type)
void fib_table_entry_special_remove(u32 fib_index, const fib_prefix_t *prefix, fib_source_t source)
Remove a 'special' entry from the FIB.
void fib_walk_sync(fib_node_type_t parent_type, fib_node_index_t parent_index, fib_node_back_walk_ctx_t *ctx)
Back walk all the children of a FIB node.
Aggregrate type for a prefix.
static void fib_bfd_update_walk(fib_node_index_t fei)
#define vlib_call_init_function(vm, x)
fib_entry_delegate_t * fib_entry_delegate_get(const fib_entry_t *fib_entry, fib_entry_delegate_type_t type)
bfd_udp_key_t key
key identifying this session
ip46_address_t fp_addr
The address type is not deriveable from the fp_addr member.
#define ip46_address_is_ip4(ip46)
fib_node_index_t fib_table_entry_special_add(u32 fib_index, const fib_prefix_t *prefix, fib_source_t source, fib_entry_flag_t flags)
Add a 'special' entry to the FIB.
u32 fib_node_index_t
A typedef of a node index.
fib_entry_t * fib_entry_get(fib_node_index_t index)
Context passed between object during a back walk.
void fib_entry_lock(fib_node_index_t fib_entry_index)
bfd_hop_type_e hop_type
BFD hop type.
bfd_state_e local_state
session state
void bfd_register_listener(bfd_notify_fn_t fn)
Register a callback function to receive session notifications.
#define FIB_NODE_INDEX_INVALID
enum fib_bfd_state_t_ fib_bfd_state_t
Distillation of the BFD session states into a go/no-go for using the associated tracked FIB entry...
A Delagate is a means to implmenet the Delagation design pattern; the extension of an objects functio...
fib_entry_delegate_t * fib_entry_delegate_find_or_add(fib_entry_t *fib_entry, fib_entry_delegate_type_t fdt)
static clib_error_t * fib_bfd_main_init(vlib_main_t *vm)
static clib_error_t * bfd_main_init(vlib_main_t *vm)