FD.io VPP  v18.01.1-37-g7ea3975
Vector Packet Processing
adj_delegate.h File Reference
+ Include dependency graph for adj_delegate.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  adj_delegate_t_
 A Delagate is a means to implement the Delagation design pattern; the extension of an object's functionality through the composition of, and delgation to, other objects. More...
 

Macros

#define FOR_EACH_ADJ_DELEGATE(_adj, _adt, _aed, _body)
 

Typedefs

typedef enum adj_delegate_type_t_ adj_delegate_type_t
 Delegate types. More...
 
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_delegate_t_ adj_delegate_t
 A Delagate is a means to implement the Delagation design pattern; the extension of an object's functionality through the composition of, and delgation to, other objects. More...
 

Enumerations

enum  adj_delegate_type_t_ { ADJ_DELEGATE_BFD }
 Delegate types. More...
 
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

void adj_delegate_remove (ip_adjacency_t *adj, adj_delegate_type_t type)
 
adj_delegate_tadj_delegate_find_or_add (ip_adjacency_t *adj, adj_delegate_type_t fdt)
 
adj_delegate_tadj_delegate_get (const ip_adjacency_t *adj, adj_delegate_type_t type)
 
u8format_adj_deletegate (u8 *s, va_list *args)
 

Macro Definition Documentation

#define FOR_EACH_ADJ_DELEGATE (   _adj,
  _adt,
  _aed,
  _body 
)
Value:
{ \
for (_adt = ADJ_DELEGATE_BFD; \
_adt <= ADJ_DELEGATE_BFD; \
_adt++) \
{ \
_aed = adj_delegate_get(_adj, _adt); \
if (NULL != _aed) { \
_body; \
} \
} \
}
#define NULL
Definition: clib.h:55
BFD session state.
Definition: adj_delegate.h:28
adj_delegate_t * adj_delegate_get(const ip_adjacency_t *adj, adj_delegate_type_t type)
Definition: adj_delegate.c:48

Definition at line 31 of file adj_delegate.h.

Typedef Documentation

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

A Delagate is a means to implement the Delagation design pattern; the extension of an object's functionality through the composition of, and delgation to, other objects.

These 'other' objects are delegates. Delagates are thus attached to ADJ objects to extend their functionality.

Delegate types.

Enumeration Type Documentation

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 48 of file adj_delegate.h.

Delegate types.

Enumerator
ADJ_DELEGATE_BFD 

BFD session state.

Definition at line 24 of file adj_delegate.h.

Function Documentation

adj_delegate_t* adj_delegate_find_or_add ( ip_adjacency_t adj,
adj_delegate_type_t  fdt 
)

Definition at line 93 of file adj_delegate.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

adj_delegate_t* adj_delegate_get ( const ip_adjacency_t adj,
adj_delegate_type_t  type 
)

Definition at line 48 of file adj_delegate.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void adj_delegate_remove ( ip_adjacency_t adj,
adj_delegate_type_t  type 
)

Definition at line 55 of file adj_delegate.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_adj_deletegate ( u8 s,
va_list *  args 
)

Definition at line 137 of file adj_delegate.c.

+ Here is the caller graph for this function: