![]() |
FD.io VPP
v19.08.3-2-gbabecb413
Vector Packet Processing
|
Include dependency graph for fib_entry.h:
This graph shows which files directly or indirectly include this file: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_ATTRIBUTES |
| #define | FOR_EACH_FIB_ATTRIBUTE(_item) |
| #define | FIB_ENTRY_SRC_ATTRIBUTES |
| #define | FOR_EACH_FIB_SRC_ATTRIBUTE(_item) |
| #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_ATTRIBUTES |
Definition at line 261 of file fib_entry.h.
| #define FIB_ENTRY_FORMAT_BRIEF (0x0) |
Definition at line 522 of file fib_entry.h.
| #define FIB_ENTRY_FORMAT_DETAIL (0x1) |
Definition at line 523 of file fib_entry.h.
| #define FIB_ENTRY_FORMAT_DETAIL2 (0x2) |
Definition at line 524 of file fib_entry.h.
| #define FIB_ENTRY_SRC_ATTRIBUTES |
Definition at line 328 of file fib_entry.h.
| #define FIB_SOURCE_MAX (FIB_SOURCE_LAST+1) |
The maximum number of sources.
Definition at line 162 of file fib_entry.h.
| #define FIB_SOURCES |
Definition at line 164 of file fib_entry.h.
| #define FOR_EACH_FIB_ATTRIBUTE | ( | _item | ) |
Definition at line 275 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 519 of file fib_entry.h.
| #define FOR_EACH_FIB_SOURCE | ( | _item | ) | for (_item = FIB_SOURCE_FIRST; _item < FIB_SOURCE_MAX; _item++) |
Definition at line 191 of file fib_entry.h.
| #define FOR_EACH_FIB_SRC_ATTRIBUTE | ( | _item | ) |
Definition at line 335 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 with their 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 with their relative priority order. The lower the value the higher the priority
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 199 of file fib_entry.h.
| enum fib_entry_flag_t_ |
Definition at line 280 of file fib_entry.h.
Flags for the source data.
Definition at line 300 of file fib_entry.h.
| Enumerator | |
|---|---|
| FIB_ENTRY_SRC_FLAG_NONE | |
| FIB_ENTRY_SRC_FLAG_ADDED | |
| FIB_ENTRY_SRC_FLAG_CONTRIBUTING | |
| FIB_ENTRY_SRC_FLAG_ACTIVE | |
| FIB_ENTRY_SRC_FLAG_INHERITED | |
Definition at line 340 of file fib_entry.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 29 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 566 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_entry_child_remove | ( | fib_node_index_t | fib_entry_index, |
| u32 | sibling_index | ||
| ) |
Definition at line 577 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int fib_entry_cmp_for_sort | ( | void * | i1, |
| void * | i2 | ||
| ) |
Definition at line 1631 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 448 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| const dpo_id_t* fib_entry_contribute_ip_forwarding | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 517 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 402 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_entry_cover_changed | ( | fib_node_index_t | fib_entry | ) |
Definition at line 1269 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_entry_cover_updated | ( | fib_node_index_t | fib_entry | ) |
Definition at line 1345 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 728 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 768 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 1224 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fib_route_path_t* fib_entry_encode | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 1669 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fib_entry_t* fib_entry_get | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 52 of file fib_entry.c.
| adj_index_t fib_entry_get_adj | ( | fib_node_index_t | fib_entry_index | ) |
| adj_index_t fib_entry_get_adj_for_source | ( | fib_node_index_t | fib_entry_index, |
| fib_source_t | source | ||
| ) |
| fib_source_t fib_entry_get_best_source | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 1476 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 1761 of file fib_entry_src.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 fib_entry_get_fib_index | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 1709 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fib_entry_flag_t fib_entry_get_flags | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 302 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fib_entry_flag_t fib_entry_get_flags_for_source | ( | fib_node_index_t | fib_entry_index, |
| fib_source_t | source | ||
| ) |
Definition at line 1812 of file fib_entry_src.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 | ) |
| const fib_prefix_t* fib_entry_get_prefix | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 1699 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 fib_entry_get_resolving_interface | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 1466 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 fib_entry_get_resolving_interface_for_source | ( | fib_node_index_t | fib_entry_index, |
| fib_source_t | source | ||
| ) |
| const void* fib_entry_get_source_data | ( | fib_node_index_t | fib_entry_index, |
| fib_source_t | source | ||
| ) |
Definition at line 1867 of file fib_entry_src.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 fib_entry_get_stats_index | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 1556 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_entry_inherit | ( | fib_node_index_t | cover, |
| fib_node_index_t | covered | ||
| ) |
fib_entry_inherit
If the source on the cover is inheriting then push this source down to the covered.
Definition at line 1211 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int fib_entry_is_host | ( | fib_node_index_t | fib_entry_index | ) |
Return !0 is the entry represents a host prefix.
Definition at line 1491 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int fib_entry_is_resolved | ( | fib_node_index_t | fib_entry_index | ) |
Return !0 is the entry is resolved, i.e.
will return a valid forwarding chain
Definition at line 1501 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int fib_entry_is_sourced | ( | fib_node_index_t | fib_entry_index, |
| fib_source_t | source | ||
| ) |
Definition at line 134 of file fib_entry_src.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_entry_lock | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 1640 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_entry_module_init | ( | void | ) |
Definition at line 1660 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 * | rpaths | ||
| ) |
Definition at line 921 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 * | rpaths | ||
| ) |
Definition at line 1017 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 fib_entry_pool_size | ( | void | ) |
| void fib_entry_recalculate_forwarding | ( | fib_node_index_t | fib_entry_index | ) |
| int fib_entry_recursive_loop_detect | ( | fib_node_index_t | entry_index, |
| fib_node_index_t ** | entry_indicies | ||
| ) |
Definition at line 1415 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_entry_set_flow_hash_config | ( | fib_node_index_t | fib_entry_index, |
| flow_hash_config_t | hash_config | ||
| ) |
Definition at line 1527 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_entry_set_source_data | ( | fib_node_index_t | fib_entry_index, |
| fib_source_t | source, | ||
| const void * | data | ||
| ) |
Definition at line 1849 of file fib_entry_src.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 885 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fib_entry_src_flag_t fib_entry_special_remove | ( | fib_node_index_t | fib_entry_index, |
| fib_source_t | source | ||
| ) |
Definition at line 1109 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 902 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_entry_unlock | ( | fib_node_index_t | fib_entry_index | ) |
Definition at line 1650 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 1236 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 141 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 111 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 126 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 101 of file fib_entry.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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" | |||
| ) |