FD.io VPP
v20.09-64-g4f7b92f0a
Vector Packet Processing
|
Go to the source code of this file.
Macros | |
#define | FIB_SOURCES |
#define | FIB_SOURCE_BH_MAX (FIB_SOURCE_BH_ADJ+1) |
#define | FIB_SOURCE_BEHAVIOURS |
#define | foreach_fib_source |
The fixed source to priority mappings. More... | |
#define | FIB_SOURCE_PRIORITY_HI 0x10 |
Some priority values that plugins might use when they are not to concerned where in the list they'll go. More... | |
#define | FIB_SOURCE_PRIORITY_LOW 0xd0 |
Typedefs | |
typedef enum fib_source_t_ | fib_source_t |
The different sources that can create a route. More... | |
typedef u8 | fib_source_priority_t |
Each source is assigned a priority. More... | |
typedef enum fib_source_priority_cmp_t_ | fib_source_priority_cmp_t |
source comparison More... | |
typedef enum fib_source_behaviour_t_ | fib_source_behaviour_t |
Each source has a defined behaviour that controls how entries behave that have that source. More... | |
typedef walk_rc_t(* | fib_source_walk_t) (fib_source_t id, const char *name, fib_source_priority_t prio, fib_source_behaviour_t bh, void *ctx) |
Functions | |
STATIC_ASSERT (sizeof(fib_source_t)==1, "FIB too many sources") | |
u16 | fib_source_get_prio (fib_source_t src) |
fib_source_behaviour_t | fib_source_get_behaviour (fib_source_t src) |
fib_source_priority_cmp_t | fib_source_cmp (fib_source_t s1, fib_source_t s2) |
u8 * | format_fib_source (u8 *s, va_list *a) |
fib_source_t | fib_source_allocate (const char *name, fib_source_priority_t prio, fib_source_behaviour_t bh) |
void | fib_source_register (fib_source_t src, fib_source_priority_t prio, fib_source_behaviour_t bh) |
void | fib_source_walk (fib_source_walk_t fn, void *ctx) |
void | fib_source_module_init (void) |
#define FIB_SOURCE_BEHAVIOURS |
Definition at line 227 of file fib_source.h.
#define FIB_SOURCE_BH_MAX (FIB_SOURCE_BH_ADJ+1) |
Definition at line 225 of file fib_source.h.
#define FIB_SOURCE_PRIORITY_HI 0x10 |
Some priority values that plugins might use when they are not to concerned where in the list they'll go.
Definition at line 273 of file fib_source.h.
#define FIB_SOURCE_PRIORITY_LOW 0xd0 |
Definition at line 274 of file fib_source.h.
#define FIB_SOURCES |
Definition at line 148 of file fib_source.h.
#define foreach_fib_source |
The fixed source to priority mappings.
Declared here so those adding new sources can better determine their respective priority values.
Definition at line 244 of file fib_source.h.
typedef enum fib_source_behaviour_t_ fib_source_behaviour_t |
Each source has a defined behaviour that controls how entries behave that have that source.
typedef enum fib_source_priority_cmp_t_ fib_source_priority_cmp_t |
source comparison
typedef u8 fib_source_priority_t |
Each source is assigned a priority.
lower priority is beeter. the source with the best source with have its contribution added to forwarding. the lesser sources will be 'remembered' by FIB and added to forwarding should the best source be removed.
Definition at line 179 of file fib_source.h.
typedef enum fib_source_t_ fib_source_t |
The different sources that can create a route.
The sources are defined here with their relative priority order. The lower the value the higher the priority
typedef walk_rc_t(* fib_source_walk_t) (fib_source_t id, const char *name, fib_source_priority_t prio, fib_source_behaviour_t bh, void *ctx) |
Definition at line 292 of file fib_source.h.
Each source has a defined behaviour that controls how entries behave that have that source.
Definition at line 195 of file fib_source.h.
source comparison
Enumerator | |
---|---|
FIB_SOURCE_CMP_BETTER | |
FIB_SOURCE_CMP_WORSE | |
FIB_SOURCE_CMP_EQUAL |
Definition at line 184 of file fib_source.h.
enum fib_source_t_ |
The different sources that can create a route.
The sources are defined here with their relative priority order. The lower the value the higher the priority
Definition at line 26 of file fib_source.h.
fib_source_t fib_source_allocate | ( | const char * | name, |
fib_source_priority_t | prio, | ||
fib_source_behaviour_t | bh | ||
) |
Definition at line 118 of file fib_source.c.
fib_source_priority_cmp_t fib_source_cmp | ( | fib_source_t | s1, |
fib_source_t | s2 | ||
) |
Definition at line 76 of file fib_source.c.
fib_source_behaviour_t fib_source_get_behaviour | ( | fib_source_t | src | ) |
u16 fib_source_get_prio | ( | fib_source_t | src | ) |
void fib_source_module_init | ( | void | ) |
void fib_source_register | ( | fib_source_t | src, |
fib_source_priority_t | prio, | ||
fib_source_behaviour_t | bh | ||
) |
void fib_source_walk | ( | fib_source_walk_t | fn, |
void * | ctx | ||
) |
Definition at line 169 of file fib_source.c.
Definition at line 66 of file fib_source.c.
STATIC_ASSERT | ( | sizeof(fib_source_t) | = =1 , |
"FIB too many sources" | |||
) |