|
static u64 | bfd_calc_echo_checksum (u32 discriminator, u64 expire_time, u32 secret) |
|
static u64 | bfd_usec_to_clocks (const bfd_main_t *bm, u64 us) |
|
u32 | bfd_clocks_to_usec (const bfd_main_t *bm, u64 clocks) |
|
u8 * | format_bfd_auth_key (u8 *s, va_list *args) |
|
static void | bfd_on_state_change (bfd_main_t *bm, bfd_session_t *bs, u64 now, int handling_wakeup) |
|
static void | bfd_set_defaults (bfd_main_t *bm, bfd_session_t *bs) |
|
static void | bfd_set_diag (bfd_session_t *bs, bfd_diag_code_e code) |
|
static void | bfd_set_state (bfd_main_t *bm, bfd_session_t *bs, bfd_state_e new_state, int handling_wakeup) |
|
const char * | bfd_poll_state_string (bfd_poll_state_e state) |
|
static void | bfd_set_poll_state (bfd_session_t *bs, bfd_poll_state_e state) |
|
static void | bfd_recalc_tx_interval (bfd_main_t *bm, bfd_session_t *bs) |
|
static void | bfd_recalc_echo_tx_interval (bfd_main_t *bm, bfd_session_t *bs) |
|
static void | bfd_calc_next_tx (bfd_main_t *bm, bfd_session_t *bs, u64 now) |
|
static void | bfd_calc_next_echo_tx (bfd_main_t *bm, bfd_session_t *bs, u64 now) |
|
static void | bfd_recalc_detection_time (bfd_main_t *bm, bfd_session_t *bs) |
|
static void | bfd_set_timer (bfd_main_t *bm, bfd_session_t *bs, u64 now, int handling_wakeup) |
|
static void | bfd_set_effective_desired_min_tx (bfd_main_t *bm, bfd_session_t *bs, u64 now, u64 desired_min_tx_clocks) |
|
static void | bfd_set_effective_required_min_rx (bfd_main_t *bm, bfd_session_t *bs, u64 required_min_rx_clocks) |
|
static void | bfd_set_remote_required_min_rx (bfd_main_t *bm, bfd_session_t *bs, u64 now, u32 remote_required_min_rx_usec) |
|
static void | bfd_set_remote_required_min_echo_rx (bfd_main_t *bm, bfd_session_t *bs, u64 now, u32 remote_required_min_echo_rx_usec) |
|
static void | bfd_notify_listeners (bfd_main_t *bm, bfd_listen_event_e event, const bfd_session_t *bs) |
|
void | bfd_session_start (bfd_main_t *bm, bfd_session_t *bs) |
|
void | bfd_session_set_flags (bfd_session_t *bs, u8 admin_up_down) |
|
u8 * | bfd_input_format_trace (u8 *s, va_list *args) |
|
static void | bfd_on_config_change (vlib_main_t *vm, vlib_node_runtime_t *rt, bfd_main_t *bm, bfd_session_t *bs, u64 now) |
|
static void | bfd_add_transport_layer (vlib_main_t *vm, u32 bi, bfd_session_t *bs) |
|
static int | bfd_transport_control_frame (vlib_main_t *vm, u32 bi, bfd_session_t *bs) |
|
static int | bfd_echo_add_transport_layer (vlib_main_t *vm, u32 bi, bfd_session_t *bs) |
|
static int | bfd_transport_echo (vlib_main_t *vm, u32 bi, bfd_session_t *bs) |
|
static void | bfd_add_auth_section (vlib_buffer_t *b, bfd_session_t *bs) |
|
static int | bfd_is_echo_possible (bfd_session_t *bs) |
|
static void | bfd_init_control_frame (bfd_main_t *bm, bfd_session_t *bs, vlib_buffer_t *b) |
|
static void | bfd_send_echo (vlib_main_t *vm, vlib_node_runtime_t *rt, bfd_main_t *bm, bfd_session_t *bs, u64 now) |
|
static void | bfd_send_periodic (vlib_main_t *vm, vlib_node_runtime_t *rt, bfd_main_t *bm, bfd_session_t *bs, u64 now) |
|
void | bfd_init_final_control_frame (vlib_main_t *vm, vlib_buffer_t *b, bfd_main_t *bm, bfd_session_t *bs, int is_local) |
|
static void | bfd_check_rx_timeout (bfd_main_t *bm, bfd_session_t *bs, u64 now, int handling_wakeup) |
|
void | bfd_on_timeout (vlib_main_t *vm, vlib_node_runtime_t *rt, bfd_main_t *bm, bfd_session_t *bs, u64 now) |
|
static uword | bfd_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f) |
|
static clib_error_t * | bfd_sw_interface_up_down (vnet_main_t *vnm, u32 sw_if_index, u32 flags) |
|
| VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION (bfd_sw_interface_up_down) |
|
static clib_error_t * | bfd_hw_interface_up_down (vnet_main_t *vnm, u32 hw_if_index, u32 flags) |
|
| VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION (bfd_hw_interface_up_down) |
|
void | bfd_register_listener (bfd_notify_fn_t fn) |
| Register a callback function to receive session notifications. More...
|
|
static clib_error_t * | bfd_main_init (vlib_main_t *vm) |
|
bfd_session_t * | bfd_get_session (bfd_main_t *bm, bfd_transport_e t) |
|
void | bfd_put_session (bfd_main_t *bm, bfd_session_t *bs) |
|
bfd_session_t * | bfd_find_session_by_idx (bfd_main_t *bm, uword bs_idx) |
|
bfd_session_t * | bfd_find_session_by_disc (bfd_main_t *bm, u32 disc) |
|
int | bfd_verify_pkt_common (const bfd_pkt_t *pkt) |
| verify bfd packet - common checks More...
|
|
static void | bfd_session_switch_auth_to_next (bfd_session_t *bs) |
|
static int | bfd_auth_type_is_meticulous (bfd_auth_type_e auth_type) |
|
static int | bfd_verify_pkt_auth_seq_num (bfd_session_t *bs, u32 received_seq_num, int is_meticulous) |
|
static int | bfd_verify_pkt_auth_key_sha1 (const bfd_pkt_t *pkt, u32 pkt_size, bfd_session_t *bs, u8 bfd_key_id, bfd_auth_key_t *auth_key) |
|
static int | bfd_verify_pkt_auth_key (const bfd_pkt_t *pkt, u32 pkt_size, bfd_session_t *bs, u8 bfd_key_id, bfd_auth_key_t *auth_key) |
|
int | bfd_verify_pkt_auth (const bfd_pkt_t *pkt, u16 pkt_size, bfd_session_t *bs) |
| verify bfd packet - authentication More...
|
|
void | bfd_consume_pkt (bfd_main_t *bm, const bfd_pkt_t *pkt, u32 bs_idx) |
|
int | bfd_consume_echo_pkt (bfd_main_t *bm, vlib_buffer_t *b) |
|
u8 * | format_bfd_session (u8 *s, va_list *args) |
|
unsigned | bfd_auth_type_supported (bfd_auth_type_e auth_type) |
|
vnet_api_error_t | bfd_auth_activate (bfd_session_t *bs, u32 conf_key_id, u8 bfd_key_id, u8 is_delayed) |
|
vnet_api_error_t | bfd_auth_deactivate (bfd_session_t *bs, u8 is_delayed) |
|
vnet_api_error_t | bfd_session_set_params (bfd_main_t *bm, bfd_session_t *bs, u32 desired_min_tx_usec, u32 required_min_rx_usec, u8 detect_mult) |
|
vnet_api_error_t | bfd_auth_set_key (u32 conf_key_id, u8 auth_type, u8 key_len, const u8 *key_data) |
| create or modify bfd authentication key More...
|
|
vnet_api_error_t | bfd_auth_del_key (u32 conf_key_id) |
| delete existing authentication key More...
|
|
BFD nodes implementation.
Definition in file bfd_main.c.