FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
adj_bfd.c File Reference
+ Include dependency graph for adj_bfd.c:

Go to the source code of this file.

Data Structures

struct  adj_bfd_delegate_t_
 BFD delegate daa. More...
 

Macros

#define ADJ_BFD_STATES
 

Typedefs

typedef enum adj_bfd_state_t_ adj_bfd_state_t
 Distillation of the BFD session states into a go/no-go for using the associated tracked adjacency. More...
 
typedef struct adj_bfd_delegate_t_ adj_bfd_delegate_t
 BFD delegate daa. More...
 

Enumerations

enum  adj_bfd_state_t_ { ADJ_BFD_STATE_DOWN, ADJ_BFD_STATE_UP }
 Distillation of the BFD session states into a go/no-go for using the associated tracked adjacency. More...
 

Functions

static adj_bfd_delegate_tadj_bfd_from_base (adj_delegate_t *ad)
 
static const adj_bfd_delegate_tadj_bfd_from_const_base (const adj_delegate_t *ad)
 
static adj_bfd_state_t adj_bfd_bfd_state_to_fib (bfd_state_e bstate)
 
static void adj_bfd_update_walk (adj_index_t ai)
 
void adj_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 would be static but for the fact it's called from the unit-tests. More...
 
int adj_bfd_is_up (adj_index_t ai)
 
static u8adj_delegate_fmt_bfd (const adj_delegate_t *aed, u8 *s)
 Print a delegate that represents BFD tracking. More...
 
static clib_error_tadj_bfd_main_init (vlib_main_t *vm)
 

Variables

static const char * adj_bfd_state_names [] = ADJ_BFD_STATES
 
static adj_bfd_delegate_tabd_pool
 Pool of delegates. More...
 
const static adj_delegate_vft_t adj_delegate_vft
 

Macro Definition Documentation

◆ ADJ_BFD_STATES

#define ADJ_BFD_STATES
Value:
{ \
[ADJ_BFD_STATE_DOWN] = "down", \
[ADJ_BFD_STATE_UP] = "up", \
}

Definition at line 32 of file adj_bfd.c.

Typedef Documentation

◆ adj_bfd_delegate_t

BFD delegate daa.

◆ adj_bfd_state_t

Distillation of the BFD session states into a go/no-go for using the associated tracked adjacency.

Enumeration Type Documentation

◆ adj_bfd_state_t_

Distillation of the BFD session states into a go/no-go for using the associated tracked adjacency.

Enumerator
ADJ_BFD_STATE_DOWN 
ADJ_BFD_STATE_UP 

Definition at line 26 of file adj_bfd.c.

Function Documentation

◆ adj_bfd_bfd_state_to_fib()

static adj_bfd_state_t adj_bfd_bfd_state_to_fib ( bfd_state_e  bstate)
static

Definition at line 81 of file adj_bfd.c.

+ Here is the caller graph for this function:

◆ adj_bfd_from_base()

static adj_bfd_delegate_t* adj_bfd_from_base ( adj_delegate_t ad)
inlinestatic

Definition at line 61 of file adj_bfd.c.

+ Here is the caller graph for this function:

◆ adj_bfd_from_const_base()

static const adj_bfd_delegate_t* adj_bfd_from_const_base ( const adj_delegate_t ad)
inlinestatic

Definition at line 71 of file adj_bfd.c.

+ Here is the caller graph for this function:

◆ adj_bfd_is_up()

int adj_bfd_is_up ( adj_index_t  ai)

Definition at line 239 of file adj_bfd.c.

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

◆ adj_bfd_main_init()

static clib_error_t* adj_bfd_main_init ( vlib_main_t vm)
static

Definition at line 281 of file adj_bfd.c.

+ Here is the call graph for this function:

◆ adj_bfd_notify()

void adj_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 would be static but for the fact it's called from the unit-tests.

Definition at line 114 of file adj_bfd.c.

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

◆ adj_bfd_update_walk()

static void adj_bfd_update_walk ( adj_index_t  ai)
static

Definition at line 96 of file adj_bfd.c.

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

◆ adj_delegate_fmt_bfd()

static u8* adj_delegate_fmt_bfd ( const adj_delegate_t aed,
u8 s 
)
static

Print a delegate that represents BFD tracking.

Definition at line 265 of file adj_bfd.c.

+ Here is the call graph for this function:

Variable Documentation

◆ abd_pool

adj_bfd_delegate_t* abd_pool
static

Pool of delegates.

Definition at line 58 of file adj_bfd.c.

◆ adj_bfd_state_names

const char* adj_bfd_state_names[] = ADJ_BFD_STATES
static

Definition at line 37 of file adj_bfd.c.

◆ adj_delegate_vft

const static adj_delegate_vft_t adj_delegate_vft
static
Initial value:
= {
.adv_format = adj_delegate_fmt_bfd,
}

Definition at line 276 of file adj_bfd.c.

ADJ_BFD_STATE_DOWN
@ ADJ_BFD_STATE_DOWN
Definition: adj_bfd.c:28
adj_delegate_fmt_bfd
static u8 * adj_delegate_fmt_bfd(const adj_delegate_t *aed, u8 *s)
Print a delegate that represents BFD tracking.
Definition: adj_bfd.c:265
ADJ_BFD_STATE_UP
@ ADJ_BFD_STATE_UP
Definition: adj_bfd.c:29