FD.io VPP  v19.01.1-17-ge106252
Vector Packet Processing
mfib_entry_delegate.h File Reference
+ Include dependency graph for mfib_entry_delegate.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  mfib_entry_delegate_t_
 A Delagate is a means to implmenet the Delagation design pattern; the extension of an objects functionality through the composition of, and delgation to, other objects. More...
 

Macros

#define FOR_EACH_MFIB_DELEGATE(_entry, _fdt, _fed, _body)
 

Typedefs

typedef enum mfib_entry_delegate_type_t_ mfib_entry_delegate_type_t
 Delegate types. More...
 
typedef struct mfib_entry_delegate_t_ mfib_entry_delegate_t
 A Delagate is a means to implmenet the Delagation design pattern; the extension of an objects functionality through the composition of, and delgation to, other objects. More...
 

Enumerations

enum  mfib_entry_delegate_type_t_ { MFIB_ENTRY_DELEGATE_COVERED }
 Delegate types. More...
 

Functions

void mfib_entry_delegate_remove (struct mfib_entry_t_ *mfib_entry, mfib_entry_delegate_type_t type)
 
mfib_entry_delegate_tmfib_entry_delegate_find_or_add (struct mfib_entry_t_ *mfib_entry, mfib_entry_delegate_type_t fdt)
 
mfib_entry_delegate_tmfib_entry_delegate_get (const struct mfib_entry_t_ *mfib_entry, mfib_entry_delegate_type_t type)
 
u8format_mfib_entry_deletegate (u8 *s, va_list *args)
 

Macro Definition Documentation

#define FOR_EACH_MFIB_DELEGATE (   _entry,
  _fdt,
  _fed,
  _body 
)
Value:
{ \
for (_fdt = MFIB_ENTRY_DELEGATE_CHAIN_UNICAST_IP4; \
_fdt <= MFIB_ENTRY_DELEGATE_ATTACHED_EXPORT; \
_fdt++) \
{ \
_fed = mfib_entry_delegate_get(_entry, _fdt); \
if (NULL != _fed) { \
_body; \
} \
} \
}
mfib_entry_delegate_t * mfib_entry_delegate_get(const struct mfib_entry_t_ *mfib_entry, mfib_entry_delegate_type_t type)
#define NULL
Definition: clib.h:58
for(i=1;i<=collision_buckets;i++)

Definition at line 33 of file mfib_entry_delegate.h.

Typedef Documentation

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

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

Enumeration Type Documentation

Delegate types.

Enumerator
MFIB_ENTRY_DELEGATE_COVERED 

Dependency list of covered entries.

these are more specific entries that are interested in changes to their respective cover

Definition at line 24 of file mfib_entry_delegate.h.

Function Documentation

u8* format_mfib_entry_deletegate ( u8 s,
va_list *  args 
)

Definition at line 136 of file mfib_entry_delegate.c.

mfib_entry_delegate_t* mfib_entry_delegate_find_or_add ( struct mfib_entry_t_ mfib_entry,
mfib_entry_delegate_type_t  fdt 
)

Definition at line 92 of file mfib_entry_delegate.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

mfib_entry_delegate_t* mfib_entry_delegate_get ( const struct mfib_entry_t_ mfib_entry,
mfib_entry_delegate_type_t  type 
)
void mfib_entry_delegate_remove ( struct mfib_entry_t_ mfib_entry,
mfib_entry_delegate_type_t  type 
)

Definition at line 54 of file mfib_entry_delegate.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function: