FD.io VPP  v20.05.1-6-gf53edbc3b
Vector Packet Processing
bfd_main.c File Reference

BFD nodes implementation. More...

+ Include dependency graph for bfd_main.c:

Go to the source code of this file.

Data Structures

struct  bfd_rpc_event_t
 
struct  bfd_rpc_notify_listeners_t
 

Macros

#define F(x)
 

Enumerations

enum  bfd_input_next_t { BFD_INPUT_NEXT_NORMAL, BFD_INPUT_N_NEXT }
 

Functions

static u64 bfd_calc_echo_checksum (u32 discriminator, u64 expire_time, u32 secret)
 
static u64 bfd_usec_to_nsec (u64 us)
 
u32 bfd_nsec_to_usec (u64 nsec)
 
static u64 bfd_time_now_nsec (vlib_main_t *vm, f64 *vm_time)
 
u8format_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 (vlib_main_t *vm, 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_nsec)
 
static void bfd_set_effective_required_min_rx (bfd_main_t *bm, bfd_session_t *bs, u64 required_min_rx_nsec)
 
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 (vlib_main_t *vm, bfd_session_t *bs, u8 admin_up_down)
 
u8bfd_input_format_trace (u8 *s, va_list *args)
 
static void bfd_rpc_event_cb (const bfd_rpc_event_t *a)
 
static void bfd_event_rpc (u32 bs_idx)
 
static void bfd_rpc_notify_listeners_cb (const bfd_rpc_notify_listeners_t *a)
 
static void bfd_notify_listeners_rpc (u32 bs_idx)
 
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 (vlib_main_t *vm, 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_tbfd_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_tbfd_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_tbfd_main_init (vlib_main_t *vm)
 
bfd_session_tbfd_get_session (bfd_main_t *bm, bfd_transport_e t)
 
void bfd_put_session (bfd_main_t *bm, bfd_session_t *bs)
 
bfd_session_tbfd_find_session_by_idx (bfd_main_t *bm, uword bs_idx)
 
bfd_session_tbfd_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 (vlib_main_t *vm, 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 (vlib_main_t *vm, 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 (vlib_main_t *vm, const bfd_pkt_t *pkt, u16 pkt_size, bfd_session_t *bs)
 verify bfd packet - authentication More...
 
void bfd_consume_pkt (vlib_main_t *vm, bfd_main_t *bm, const bfd_pkt_t *pkt, u32 bs_idx)
 
int bfd_consume_echo_pkt (vlib_main_t *vm, bfd_main_t *bm, vlib_buffer_t *b)
 
u8format_bfd_session (u8 *s, va_list *args)
 
u8format_bfd_session_brief (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...
 

Variables

static vlib_node_registration_t bfd_process_node
 (constructor) VLIB_REGISTER_NODE (bfd_process_node) More...
 
bfd_main_t bfd_main
 

Detailed Description

BFD nodes implementation.

Definition in file bfd_main.c.

Macro Definition Documentation

◆ F

#define F (   x)
Value:
case BFD_POLL_##x: \
return "BFD_POLL_" #x;

Enumeration Type Documentation

◆ bfd_input_next_t

Enumerator
BFD_INPUT_NEXT_NORMAL 
BFD_INPUT_N_NEXT 

Definition at line 99 of file bfd_main.c.

Function Documentation

◆ bfd_add_auth_section()

static void bfd_add_auth_section ( vlib_buffer_t b,
bfd_session_t bs 
)
static

Definition at line 820 of file bfd_main.c.

+ Here is the caller graph for this function:

◆ bfd_add_transport_layer()

static void bfd_add_transport_layer ( vlib_main_t vm,
u32  bi,
bfd_session_t bs 
)
static

Definition at line 721 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_auth_activate()

vnet_api_error_t bfd_auth_activate ( bfd_session_t bs,
u32  conf_key_id,
u8  bfd_key_id,
u8  is_delayed 
)

Definition at line 2040 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_auth_deactivate()

vnet_api_error_t bfd_auth_deactivate ( bfd_session_t bs,
u8  is_delayed 
)

Definition at line 2089 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_auth_del_key()

vnet_api_error_t bfd_auth_del_key ( u32  conf_key_id)

delete existing authentication key

Definition at line 2249 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_auth_set_key()

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

Definition at line 2193 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_auth_type_is_meticulous()

static int bfd_auth_type_is_meticulous ( bfd_auth_type_e  auth_type)
static

Definition at line 1518 of file bfd_main.c.

+ Here is the caller graph for this function:

◆ bfd_auth_type_supported()

unsigned bfd_auth_type_supported ( bfd_auth_type_e  auth_type)

Definition at line 2029 of file bfd_main.c.

+ Here is the caller graph for this function:

◆ bfd_calc_echo_checksum()

static u64 bfd_calc_echo_checksum ( u32  discriminator,
u64  expire_time,
u32  secret 
)
static

Definition at line 41 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_calc_next_echo_tx()

static void bfd_calc_next_echo_tx ( bfd_main_t bm,
bfd_session_t bs,
u64  now 
)
static

Definition at line 250 of file bfd_main.c.

+ Here is the caller graph for this function:

◆ bfd_calc_next_tx()

static void bfd_calc_next_tx ( bfd_main_t bm,
bfd_session_t bs,
u64  now 
)
static

Definition at line 200 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_check_rx_timeout()

static void bfd_check_rx_timeout ( vlib_main_t vm,
bfd_main_t bm,
bfd_session_t bs,
u64  now,
int  handling_wakeup 
)
static

Definition at line 1058 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_consume_echo_pkt()

int bfd_consume_echo_pkt ( vlib_main_t vm,
bfd_main_t bm,
vlib_buffer_t b 
)

Definition at line 1946 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_consume_pkt()

void bfd_consume_pkt ( vlib_main_t vm,
bfd_main_t bm,
const bfd_pkt_t *  pkt,
u32  bs_idx 
)

Definition at line 1812 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_echo_add_transport_layer()

static int bfd_echo_add_transport_layer ( vlib_main_t vm,
u32  bi,
bfd_session_t bs 
)
static

Definition at line 754 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_event_rpc()

static void bfd_event_rpc ( u32  bs_idx)
static

Definition at line 593 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_find_session_by_disc()

bfd_session_t* bfd_find_session_by_disc ( bfd_main_t bm,
u32  disc 
)

Definition at line 1434 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_find_session_by_idx()

bfd_session_t* bfd_find_session_by_idx ( bfd_main_t bm,
uword  bs_idx 
)

Definition at line 1423 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_get_session()

bfd_session_t* bfd_get_session ( bfd_main_t bm,
bfd_transport_e  t 
)

Definition at line 1368 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_hw_interface_up_down()

static clib_error_t* bfd_hw_interface_up_down ( vnet_main_t vnm,
u32  hw_if_index,
u32  flags 
)
static

Definition at line 1313 of file bfd_main.c.

+ Here is the call graph for this function:

◆ bfd_init_control_frame()

static void bfd_init_control_frame ( bfd_main_t bm,
bfd_session_t bs,
vlib_buffer_t b 
)
static

Definition at line 876 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_init_final_control_frame()

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 
)

Definition at line 1039 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_input_format_trace()

u8* bfd_input_format_trace ( u8 s,
va_list *  args 
)

Definition at line 495 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_is_echo_possible()

static int bfd_is_echo_possible ( bfd_session_t bs)
static

Definition at line 859 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_main_init()

static clib_error_t* bfd_main_init ( vlib_main_t vm)
static

Definition at line 1337 of file bfd_main.c.

+ Here is the call graph for this function:

◆ bfd_notify_listeners()

static void bfd_notify_listeners ( bfd_main_t bm,
bfd_listen_event_e  event,
const bfd_session_t bs 
)
static

Definition at line 444 of file bfd_main.c.

+ Here is the caller graph for this function:

◆ bfd_notify_listeners_rpc()

static void bfd_notify_listeners_rpc ( u32  bs_idx)
static

Definition at line 628 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_nsec_to_usec()

u32 bfd_nsec_to_usec ( u64  nsec)

Definition at line 61 of file bfd_main.c.

+ Here is the caller graph for this function:

◆ bfd_on_config_change()

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

Definition at line 704 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_on_state_change()

static void bfd_on_state_change ( bfd_main_t bm,
bfd_session_t bs,
u64  now,
int  handling_wakeup 
)
static

Definition at line 638 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_on_timeout()

void bfd_on_timeout ( vlib_main_t vm,
vlib_node_runtime_t rt,
bfd_main_t bm,
bfd_session_t bs,
u64  now 
)

Definition at line 1099 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_poll_state_string()

const char* bfd_poll_state_string ( bfd_poll_state_e  state)

Definition at line 157 of file bfd_main.c.

+ Here is the caller graph for this function:

◆ bfd_process()

static uword bfd_process ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 1144 of file bfd_main.c.

+ Here is the call graph for this function:

◆ bfd_put_session()

void bfd_put_session ( bfd_main_t bm,
bfd_session_t bs 
)

Definition at line 1402 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_recalc_detection_time()

static void bfd_recalc_detection_time ( bfd_main_t bm,
bfd_session_t bs 
)
static

Definition at line 271 of file bfd_main.c.

+ Here is the caller graph for this function:

◆ bfd_recalc_echo_tx_interval()

static void bfd_recalc_echo_tx_interval ( bfd_main_t bm,
bfd_session_t bs 
)
static

Definition at line 191 of file bfd_main.c.

+ Here is the caller graph for this function:

◆ bfd_recalc_tx_interval()

static void bfd_recalc_tx_interval ( bfd_main_t bm,
bfd_session_t bs 
)
static

Definition at line 182 of file bfd_main.c.

+ Here is the caller graph for this function:

◆ bfd_register_listener()

void bfd_register_listener ( bfd_notify_fn_t  fn)

Register a callback function to receive session notifications.

Definition at line 1326 of file bfd_main.c.

+ Here is the caller graph for this function:

◆ bfd_rpc_event_cb()

static void bfd_rpc_event_cb ( const bfd_rpc_event_t a)
static

Definition at line 567 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_rpc_notify_listeners_cb()

static void bfd_rpc_notify_listeners_cb ( const bfd_rpc_notify_listeners_t a)
static

Definition at line 609 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_send_echo()

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

Definition at line 907 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_send_periodic()

static void bfd_send_periodic ( vlib_main_t vm,
vlib_node_runtime_t rt,
bfd_main_t bm,
bfd_session_t bs,
u64  now 
)
static

Definition at line 963 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_session_set_flags()

void bfd_session_set_flags ( vlib_main_t vm,
bfd_session_t bs,
u8  admin_up_down 
)

Definition at line 468 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_session_set_params()

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 
)

Definition at line 2131 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_session_start()

void bfd_session_start ( bfd_main_t bm,
bfd_session_t bs 
)

Definition at line 455 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_session_switch_auth_to_next()

static void bfd_session_switch_auth_to_next ( bfd_session_t bs)
static

Definition at line 1502 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_set_defaults()

static void bfd_set_defaults ( bfd_main_t bm,
bfd_session_t bs 
)
static

Definition at line 109 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_set_diag()

static void bfd_set_diag ( bfd_session_t bs,
bfd_diag_code_e  code 
)
static

Definition at line 131 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_set_effective_desired_min_tx()

static void bfd_set_effective_desired_min_tx ( bfd_main_t bm,
bfd_session_t bs,
u64  now,
u64  desired_min_tx_nsec 
)
static

Definition at line 388 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_set_effective_required_min_rx()

static void bfd_set_effective_required_min_rx ( bfd_main_t bm,
bfd_session_t bs,
u64  required_min_rx_nsec 
)
static

Definition at line 402 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_set_poll_state()

static void bfd_set_poll_state ( bfd_session_t bs,
bfd_poll_state_e  state 
)
static

Definition at line 171 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_set_remote_required_min_echo_rx()

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

Definition at line 428 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_set_remote_required_min_rx()

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

Definition at line 413 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_set_state()

static void bfd_set_state ( vlib_main_t vm,
bfd_main_t bm,
bfd_session_t bs,
bfd_state_e  new_state,
int  handling_wakeup 
)
static

Definition at line 142 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_set_timer()

static void bfd_set_timer ( bfd_main_t bm,
bfd_session_t bs,
u64  now,
int  handling_wakeup 
)
static

Definition at line 286 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_sw_interface_up_down()

static clib_error_t* bfd_sw_interface_up_down ( vnet_main_t vnm,
u32  sw_if_index,
u32  flags 
)
static

Definition at line 1299 of file bfd_main.c.

+ Here is the call graph for this function:

◆ bfd_time_now_nsec()

static u64 bfd_time_now_nsec ( vlib_main_t vm,
f64 vm_time 
)
inlinestatic

Definition at line 67 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_transport_control_frame()

static int bfd_transport_control_frame ( vlib_main_t vm,
u32  bi,
bfd_session_t bs 
)
static

Definition at line 737 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_transport_echo()

static int bfd_transport_echo ( vlib_main_t vm,
u32  bi,
bfd_session_t bs 
)
static

Definition at line 771 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_usec_to_nsec()

static u64 bfd_usec_to_nsec ( u64  us)
static

Definition at line 55 of file bfd_main.c.

+ Here is the caller graph for this function:

◆ bfd_verify_pkt_auth()

int bfd_verify_pkt_auth ( vlib_main_t vm,
const bfd_pkt_t *  pkt,
u16  pkt_size,
bfd_session_t bs 
)

verify bfd packet - authentication

Parameters
pkt
Returns
1 if bfd packet is valid

Definition at line 1733 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_verify_pkt_auth_key()

static int bfd_verify_pkt_auth_key ( vlib_main_t vm,
const bfd_pkt_t *  pkt,
u32  pkt_size,
bfd_session_t bs,
u8  bfd_key_id,
bfd_auth_key_t auth_key 
)
static

Definition at line 1672 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_verify_pkt_auth_key_sha1()

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

Definition at line 1596 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_verify_pkt_auth_seq_num()

static int bfd_verify_pkt_auth_seq_num ( vlib_main_t vm,
bfd_session_t bs,
u32  received_seq_num,
int  is_meticulous 
)
static

Definition at line 1529 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_verify_pkt_common()

int bfd_verify_pkt_common ( const bfd_pkt_t *  pkt)

verify bfd packet - common checks

Parameters
pkt
Returns
1 if bfd packet is valid

Definition at line 1453 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_bfd_auth_key()

u8* format_bfd_auth_key ( u8 s,
va_list *  args 
)

Definition at line 78 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_bfd_session()

u8* format_bfd_session ( u8 s,
va_list *  args 
)

Definition at line 1982 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_bfd_session_brief()

u8* format_bfd_session_brief ( u8 s,
va_list *  args 
)

Definition at line 2018 of file bfd_main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION()

VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION ( bfd_hw_interface_up_down  )
+ Here is the caller graph for this function:

◆ VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION()

VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION ( bfd_sw_interface_up_down  )
+ Here is the caller graph for this function:

Variable Documentation

◆ bfd_main

bfd_main_t bfd_main

Definition at line 2288 of file bfd_main.c.

◆ bfd_process_node

static vlib_node_registration_t bfd_process_node
static
Initial value:
= {
.function = bfd_process,
.name = "bfd-process",
.n_next_nodes = 0,
.next_nodes = {},
}
static uword bfd_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: bfd_main.c:1144

(constructor) VLIB_REGISTER_NODE (bfd_process_node)

Definition at line 75 of file bfd_main.c.