FD.io VPP
v17.01-9-ge7dcee4
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | fib_entry_src_t_ |
Information related to the source of a FIB entry. More... | |
struct | fib_entry_t_ |
An entry in a FIB table. More... | |
Macros | |
#define | FIB_SOURCE_MAX (FIB_SOURCE_LAST+1) |
The maximum number of sources. More... | |
#define | FIB_SOURCES |
#define | FOR_EACH_FIB_SOURCE(_item) for (_item = FIB_SOURCE_FIRST; _item < FIB_SOURCE_MAX; _item++) |
#define | FIB_ENTRY_ATTRIBUTE_MAX (FIB_ENTRY_ATTRIBUTE_LAST+1) |
The maximum number of sources. More... | |
#define | FIB_ENTRY_ATTRIBUTES |
#define | FOR_EACH_FIB_ATTRIBUTE(_item) |
#define | FIB_ENTRY_SRC_ATTRIBUTE_MAX (FIB_ENTRY_SRC_ATTRIBUTE_LAST+1) |
#define | FIB_ENTRY_SRC_ATTRIBUTES |
#define | FOR_EACH_FIB_ENTRY_FLAG(_item) for (_item = FIB_ENTRY_FLAG_FIRST; _item < FIB_ENTRY_FLAG_MAX; _item++) |
#define | FIB_ENTRY_FORMAT_BRIEF (0x0) |
#define | FIB_ENTRY_FORMAT_DETAIL (0x1) |
#define | FIB_ENTRY_FORMAT_DETAIL2 (0x2) |
Typedefs | |
typedef enum fib_source_t_ | fib_source_t |
The different sources that can create a route. More... | |
typedef enum fib_entry_attribute_t_ | fib_entry_attribute_t |
The different sources that can create a route. More... | |
typedef enum fib_entry_flag_t_ | fib_entry_flag_t |
typedef enum fib_entry_src_attribute_t_ | fib_entry_src_attribute_t |
Flags for the source data. More... | |
typedef enum fib_entry_src_flag_t_ | fib_entry_src_flag_t |
typedef struct fib_entry_src_t_ | fib_entry_src_t |
Information related to the source of a FIB entry. More... | |
typedef struct fib_entry_t_ | fib_entry_t |
An entry in a FIB table. More... | |
#define FIB_ENTRY_ATTRIBUTE_MAX (FIB_ENTRY_ATTRIBUTE_LAST+1) |
The maximum number of sources.
Definition at line 199 of file fib_entry.h.
#define FIB_ENTRY_ATTRIBUTES |
Definition at line 201 of file fib_entry.h.
#define FIB_ENTRY_FORMAT_BRIEF (0x0) |
Definition at line 415 of file fib_entry.h.
#define FIB_ENTRY_FORMAT_DETAIL (0x1) |
Definition at line 416 of file fib_entry.h.
#define FIB_ENTRY_FORMAT_DETAIL2 (0x2) |
Definition at line 417 of file fib_entry.h.
#define FIB_ENTRY_SRC_ATTRIBUTE_MAX (FIB_ENTRY_SRC_ATTRIBUTE_LAST+1) |
Definition at line 247 of file fib_entry.h.
#define FIB_ENTRY_SRC_ATTRIBUTES |
Definition at line 249 of file fib_entry.h.
#define FIB_SOURCE_MAX (FIB_SOURCE_LAST+1) |
The maximum number of sources.
Definition at line 130 of file fib_entry.h.
#define FIB_SOURCES |
Definition at line 132 of file fib_entry.h.
#define FOR_EACH_FIB_ATTRIBUTE | ( | _item | ) |
Definition at line 210 of file fib_entry.h.
#define FOR_EACH_FIB_ENTRY_FLAG | ( | _item | ) | for (_item = FIB_ENTRY_FLAG_FIRST; _item < FIB_ENTRY_FLAG_MAX; _item++) |
Definition at line 412 of file fib_entry.h.
#define FOR_EACH_FIB_SOURCE | ( | _item | ) | for (_item = FIB_SOURCE_FIRST; _item < FIB_SOURCE_MAX; _item++) |
Definition at line 151 of file fib_entry.h.
typedef enum fib_entry_attribute_t_ fib_entry_attribute_t |
The different sources that can create a route.
The sources are defined here the thier relative priority order. The lower the value the higher the priority
typedef enum fib_entry_flag_t_ fib_entry_flag_t |
typedef enum fib_entry_src_attribute_t_ fib_entry_src_attribute_t |
Flags for the source data.
typedef enum fib_entry_src_flag_t_ fib_entry_src_flag_t |
typedef struct fib_entry_src_t_ fib_entry_src_t |
Information related to the source of a FIB entry.
typedef struct fib_entry_t_ fib_entry_t |
An entry in a FIB table.
This entry represents a route added to the FIB that is stored in one of the FIB tables.
typedef enum fib_source_t_ fib_source_t |
The different sources that can create a route.
The sources are defined here the thier relative priority order. The lower the value the higher the priority
The different sources that can create a route.
The sources are defined here the thier relative priority order. The lower the value the higher the priority
Definition at line 159 of file fib_entry.h.
enum fib_entry_flag_t_ |
Enumerator | |
---|---|
FIB_ENTRY_FLAG_NONE | |
FIB_ENTRY_FLAG_CONNECTED | |
FIB_ENTRY_FLAG_ATTACHED | |
FIB_ENTRY_FLAG_DROP | |
FIB_ENTRY_FLAG_EXCLUSIVE | |
FIB_ENTRY_FLAG_LOCAL | |
FIB_ENTRY_FLAG_IMPORT |
Definition at line 215 of file fib_entry.h.
Flags for the source data.
Definition at line 228 of file fib_entry.h.
Enumerator | |
---|---|
FIB_ENTRY_SRC_FLAG_NONE | |
FIB_ENTRY_SRC_FLAG_ADDED | |
FIB_ENTRY_SRC_FLAG_ACTIVE |
Definition at line 254 of file fib_entry.h.
enum fib_source_t_ |
The different sources that can create a route.
The sources are defined here the thier relative priority order. The lower the value the higher the priority
Definition at line 30 of file fib_entry.h.
u32 fib_entry_child_add | ( | fib_node_index_t | fib_entry_index, |
fib_node_type_t | type, | ||
fib_node_index_t | child_index | ||
) |
Definition at line 472 of file fib_entry.c.
void fib_entry_child_remove | ( | fib_node_index_t | fib_entry_index, |
u32 | sibling_index | ||
) |
Definition at line 483 of file fib_entry.c.
int fib_entry_cmp_for_sort | ( | void * | i1, |
void * | i2 | ||
) |
Definition at line 1388 of file fib_entry.c.
void fib_entry_contribute_forwarding | ( | fib_node_index_t | fib_entry_index, |
fib_forward_chain_type_t | type, | ||
dpo_id_t * | dpo | ||
) |
Definition at line 391 of file fib_entry.c.
const dpo_id_t* fib_entry_contribute_ip_forwarding | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 432 of file fib_entry.c.
void fib_entry_contribute_urpf | ( | fib_node_index_t | path_index, |
index_t | urpf | ||
) |
Contribute the set of Adjacencies that this entry forwards with to build the uRPF list of its children.
Definition at line 375 of file fib_entry.c.
void fib_entry_cover_changed | ( | fib_node_index_t | fib_entry | ) |
Definition at line 1112 of file fib_entry.c.
void fib_entry_cover_updated | ( | fib_node_index_t | fib_entry | ) |
Definition at line 1184 of file fib_entry.c.
fib_node_index_t fib_entry_create | ( | u32 | fib_index, |
const fib_prefix_t * | prefix, | ||
fib_source_t | source, | ||
fib_entry_flag_t | flags, | ||
const fib_route_path_t * | paths | ||
) |
Definition at line 620 of file fib_entry.c.
fib_node_index_t fib_entry_create_special | ( | u32 | fib_index, |
const fib_prefix_t * | prefix, | ||
fib_source_t | source, | ||
fib_entry_flag_t | flags, | ||
const dpo_id_t * | dpo | ||
) |
Definition at line 657 of file fib_entry.c.
fib_entry_src_flag_t fib_entry_delete | ( | fib_node_index_t | fib_entry_index, |
fib_source_t | source | ||
) |
fib_entry_delete
The source is withdrawing all the paths it provided
Definition at line 1033 of file fib_entry.c.
void fib_entry_encode | ( | fib_node_index_t | fib_entry_index, |
fib_route_path_encode_t ** | api_rpaths | ||
) |
Definition at line 1423 of file fib_entry.c.
fib_entry_t* fib_entry_get | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 44 of file fib_entry.c.
adj_index_t fib_entry_get_adj | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 447 of file fib_entry.c.
adj_index_t fib_entry_get_adj_for_source | ( | fib_node_index_t | fib_entry_index, |
fib_source_t | source | ||
) |
Definition at line 1301 of file fib_entry_src.c.
fib_source_t fib_entry_get_best_source | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 1311 of file fib_entry.c.
const int fib_entry_get_dpo_for_source | ( | fib_node_index_t | fib_entry_index, |
fib_source_t | source, | ||
dpo_id_t * | dpo | ||
) |
Definition at line 1326 of file fib_entry_src.c.
u32 fib_entry_get_fib_index | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 1443 of file fib_entry.c.
fib_entry_flag_t fib_entry_get_flags | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 278 of file fib_entry.c.
fib_entry_flag_t fib_entry_get_flags_for_source | ( | fib_node_index_t | fib_entry_index, |
fib_source_t | source | ||
) |
Definition at line 1376 of file fib_entry_src.c.
fib_node_index_t fib_entry_get_index | ( | const fib_entry_t * | fib_entry | ) |
fib_node_index_t fib_entry_get_path_list | ( | fib_node_index_t | fib_entry_index | ) |
void fib_entry_get_prefix | ( | fib_node_index_t | fib_entry_index, |
fib_prefix_t * | pfx | ||
) |
Definition at line 1433 of file fib_entry.c.
u32 fib_entry_get_resolving_interface | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 1301 of file fib_entry.c.
u32 fib_entry_get_resolving_interface_for_source | ( | fib_node_index_t | fib_entry_index, |
fib_source_t | source | ||
) |
Definition at line 1355 of file fib_entry_src.c.
const void* fib_entry_get_source_data | ( | fib_node_index_t | fib_entry_index, |
fib_source_t | source | ||
) |
Definition at line 1436 of file fib_entry_src.c.
int fib_entry_is_sourced | ( | fib_node_index_t | fib_entry_index, |
fib_source_t | source | ||
) |
Definition at line 104 of file fib_entry_src.c.
void fib_entry_lock | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 1397 of file fib_entry.c.
void fib_entry_module_init | ( | void | ) |
Definition at line 1417 of file fib_entry.c.
void fib_entry_path_add | ( | fib_node_index_t | fib_entry_index, |
fib_source_t | source, | ||
fib_entry_flag_t | flags, | ||
const fib_route_path_t * | rpath | ||
) |
Definition at line 789 of file fib_entry.c.
fib_entry_src_flag_t fib_entry_path_remove | ( | fib_node_index_t | fib_entry_index, |
fib_source_t | source, | ||
const fib_route_path_t * | rpath | ||
) |
Definition at line 852 of file fib_entry.c.
u32 fib_entry_pool_size | ( | void | ) |
int fib_entry_recursive_loop_detect | ( | fib_node_index_t | entry_index, |
fib_node_index_t ** | entry_indicies | ||
) |
Definition at line 1250 of file fib_entry.c.
void fib_entry_set_source_data | ( | fib_node_index_t | fib_entry_index, |
fib_source_t | source, | ||
const void * | data | ||
) |
Definition at line 1418 of file fib_entry_src.c.
void fib_entry_special_add | ( | fib_node_index_t | fib_entry_index, |
fib_source_t | source, | ||
fib_entry_flag_t | flags, | ||
const dpo_id_t * | dpo | ||
) |
Definition at line 746 of file fib_entry.c.
fib_entry_src_flag_t fib_entry_special_remove | ( | fib_node_index_t | fib_entry_index, |
fib_source_t | source | ||
) |
Definition at line 947 of file fib_entry.c.
void fib_entry_special_update | ( | fib_node_index_t | fib_entry_index, |
fib_source_t | source, | ||
fib_entry_flag_t | flags, | ||
const dpo_id_t * | dpo | ||
) |
Definition at line 767 of file fib_entry.c.
void fib_entry_unlock | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 1407 of file fib_entry.c.
void fib_entry_update | ( | fib_node_index_t | fib_entry_index, |
fib_source_t | source, | ||
fib_entry_flag_t | flags, | ||
const fib_route_path_t * | paths | ||
) |
fib_entry_update
The source has provided a new set of paths that will replace the old.
Definition at line 1045 of file fib_entry.c.
Definition at line 93 of file fib_entry.c.
STATIC_ASSERT | ( | sizeof(fib_source_t) | = =1 , |
"FIB too many sources" | |||
) |
STATIC_ASSERT | ( | sizeof(fib_entry_src_flag_t)<= | 2, |
"FIB entry flags field size too big" | |||
) |