FD.io VPP
v17.01.1-3-gc6833f8
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | fib_path_t_ |
A FIB path. More... | |
Macros | |
#define | FIB_PATH_TYPE_MAX (FIB_PATH_TYPE_LAST + 1) |
The maximum number of path_types. More... | |
#define | FIB_PATH_TYPES |
#define | FOR_EACH_FIB_PATH_TYPE(_item) for (_item = FIB_PATH_TYPE_FIRST; _item <= FIB_PATH_TYPE_LAST; _item++) |
#define | FIB_PATH_OPER_ATTRIBUTE_MAX (FIB_PATH_OPER_ATTRIBUTE_LAST + 1) |
The maximum number of path operational attributes. More... | |
#define | FIB_PATH_OPER_ATTRIBUTES |
#define | FOR_EACH_FIB_PATH_OPER_ATTRIBUTE(_item) |
#define | FIB_PATH_DBG(_p, _fmt, _args...) |
Typedefs | |
typedef enum fib_path_type_t_ | fib_path_type_t |
Enurmeration of path types. More... | |
typedef enum fib_path_oper_attribute_t_ | fib_path_oper_attribute_t |
Enurmeration of path operational (i.e. More... | |
typedef enum fib_path_oper_flags_t_ | fib_path_oper_flags_t |
Path flags from the attributes. More... | |
typedef struct fib_path_t_ | fib_path_t |
A FIB path. More... | |
Enumerations | |
enum | fib_path_type_t_ { FIB_PATH_TYPE_FIRST = 0, FIB_PATH_TYPE_ATTACHED_NEXT_HOP = FIB_PATH_TYPE_FIRST, FIB_PATH_TYPE_ATTACHED, FIB_PATH_TYPE_RECURSIVE, FIB_PATH_TYPE_SPECIAL, FIB_PATH_TYPE_EXCLUSIVE, FIB_PATH_TYPE_DEAG, FIB_PATH_TYPE_RECEIVE, FIB_PATH_TYPE_LAST = FIB_PATH_TYPE_RECEIVE } |
Enurmeration of path types. More... | |
enum | fib_path_oper_attribute_t_ { FIB_PATH_OPER_ATTRIBUTE_FIRST = 0, FIB_PATH_OPER_ATTRIBUTE_RECURSIVE_LOOP = FIB_PATH_OPER_ATTRIBUTE_FIRST, FIB_PATH_OPER_ATTRIBUTE_RESOLVED, FIB_PATH_OPER_ATTRIBUTE_DROP, FIB_PATH_OPER_ATTRIBUTE_LAST = FIB_PATH_OPER_ATTRIBUTE_DROP } |
Enurmeration of path operational (i.e. More... | |
enum | fib_path_oper_flags_t_ { FIB_PATH_OPER_FLAG_NONE = 0, FIB_PATH_OPER_FLAG_RECURSIVE_LOOP = (1 << FIB_PATH_OPER_ATTRIBUTE_RECURSIVE_LOOP), FIB_PATH_OPER_FLAG_DROP = (1 << FIB_PATH_OPER_ATTRIBUTE_DROP), FIB_PATH_OPER_FLAG_RESOLVED = (1 << FIB_PATH_OPER_ATTRIBUTE_RESOLVED) } |
Path flags from the attributes. More... | |
Variables | |
static const char * | fib_path_type_names [] = FIB_PATH_TYPES |
static const char * | fib_path_oper_attribute_names [] = FIB_PATH_OPER_ATTRIBUTES |
static const char * | fib_path_cfg_attribute_names [] = FIB_PATH_CFG_ATTRIBUTES |
static fib_path_t * | fib_path_pool |
static const fib_node_vft_t | fib_path_vft |
static vlib_cli_command_t | show_fib_path |
(constructor) VLIB_CLI_COMMAND (show_fib_path) More... | |
#define FIB_PATH_DBG | ( | _p, | |
_fmt, | |||
_args... | |||
) |
Definition at line 326 of file fib_path.c.
#define FIB_PATH_OPER_ATTRIBUTE_MAX (FIB_PATH_OPER_ATTRIBUTE_LAST + 1) |
The maximum number of path operational attributes.
Definition at line 124 of file fib_path.c.
#define FIB_PATH_OPER_ATTRIBUTES |
Definition at line 126 of file fib_path.c.
#define FIB_PATH_TYPE_MAX (FIB_PATH_TYPE_LAST + 1) |
The maximum number of path_types.
Definition at line 80 of file fib_path.c.
#define FIB_PATH_TYPES |
Definition at line 82 of file fib_path.c.
#define FOR_EACH_FIB_PATH_OPER_ATTRIBUTE | ( | _item | ) |
Definition at line 132 of file fib_path.c.
#define FOR_EACH_FIB_PATH_TYPE | ( | _item | ) | for (_item = FIB_PATH_TYPE_FIRST; _item <= FIB_PATH_TYPE_LAST; _item++) |
Definition at line 92 of file fib_path.c.
typedef enum fib_path_oper_attribute_t_ fib_path_oper_attribute_t |
Enurmeration of path operational (i.e.
derived) attributes
typedef enum fib_path_oper_flags_t_ fib_path_oper_flags_t |
Path flags from the attributes.
typedef struct fib_path_t_ fib_path_t |
A FIB path.
typedef enum fib_path_type_t_ fib_path_type_t |
Enurmeration of path types.
Enurmeration of path operational (i.e.
derived) attributes
Definition at line 98 of file fib_path.c.
Path flags from the attributes.
Enumerator | |
---|---|
FIB_PATH_OPER_FLAG_NONE | |
FIB_PATH_OPER_FLAG_RECURSIVE_LOOP | |
FIB_PATH_OPER_FLAG_DROP | |
FIB_PATH_OPER_FLAG_RESOLVED |
Definition at line 140 of file fib_path.c.
enum fib_path_type_t_ |
Enurmeration of path types.
Definition at line 38 of file fib_path.c.
u8* fib_path_adj_format | ( | fib_node_index_t | pi, |
u32 | indent, | ||
u8 * | s | ||
) |
Definition at line 486 of file fib_path.c.
load_balance_path_t* fib_path_append_nh_for_multipath_hash | ( | fib_node_index_t | path_index, |
fib_forward_chain_type_t | fct, | ||
load_balance_path_t * | hash_key | ||
) |
Definition at line 1823 of file fib_path.c.
|
static |
Definition at line 521 of file fib_path.c.
|
static |
Definition at line 548 of file fib_path.c.
|
static |
int fib_path_cmp | ( | fib_node_index_t | pi1, |
fib_node_index_t | pi2 | ||
) |
Definition at line 1277 of file fib_path.c.
int fib_path_cmp_for_sort | ( | void * | v1, |
void * | v2 | ||
) |
Definition at line 1259 of file fib_path.c.
|
static |
Definition at line 1187 of file fib_path.c.
int fib_path_cmp_w_route_path | ( | fib_node_index_t | path_index, |
const fib_route_path_t * | rpath | ||
) |
Definition at line 1289 of file fib_path.c.
void fib_path_contribute_forwarding | ( | fib_node_index_t | path_index, |
fib_forward_chain_type_t | fct, | ||
dpo_id_t * | dpo | ||
) |
Definition at line 1724 of file fib_path.c.
void fib_path_contribute_urpf | ( | fib_node_index_t | path_index, |
index_t | urpf | ||
) |
Contribute the path's adjacency to the list passed.
By calling this function over all paths, recursively, a child can construct its full set of forwarding adjacencies, and hence its uRPF list.
Definition at line 1674 of file fib_path.c.
fib_node_index_t fib_path_copy | ( | fib_node_index_t | path_index, |
fib_node_index_t | path_list_index | ||
) |
Definition at line 1115 of file fib_path.c.
fib_node_index_t fib_path_create | ( | fib_node_index_t | pl_index, |
fib_protocol_t | nh_proto, | ||
fib_path_cfg_flags_t | flags, | ||
const fib_route_path_t * | rpath | ||
) |
Definition at line 974 of file fib_path.c.
fib_node_index_t fib_path_create_special | ( | fib_node_index_t | pl_index, |
fib_protocol_t | nh_proto, | ||
fib_path_cfg_flags_t | flags, | ||
const dpo_id_t * | dpo | ||
) |
Definition at line 1070 of file fib_path.c.
void fib_path_destroy | ( | fib_node_index_t | path_index | ) |
Definition at line 1148 of file fib_path.c.
int fib_path_encode | ( | fib_node_index_t | path_list_index, |
fib_node_index_t | path_index, | ||
void * | ctx | ||
) |
Definition at line 1900 of file fib_path.c.
u8* fib_path_format | ( | fib_node_index_t | pi, |
u8 * | s | ||
) |
Definition at line 475 of file fib_path.c.
|
static |
|
static |
adj_index_t fib_path_get_adj | ( | fib_node_index_t | path_index | ) |
Definition at line 1641 of file fib_path.c.
|
static |
|
static |
fib_protocol_t fib_path_get_proto | ( | fib_node_index_t | path_index | ) |
Definition at line 1943 of file fib_path.c.
u32 fib_path_get_resolving_interface | ( | fib_node_index_t | path_index | ) |
Definition at line 1616 of file fib_path.c.
int fib_path_get_weight | ( | fib_node_index_t | path_index | ) |
Definition at line 1656 of file fib_path.c.
uword fib_path_hash | ( | fib_node_index_t | path_index | ) |
Definition at line 1169 of file fib_path.c.
int fib_path_is_deag | ( | fib_node_index_t | path_index | ) |
Definition at line 1867 of file fib_path.c.
int fib_path_is_exclusive | ( | fib_node_index_t | path_index | ) |
Definition at line 1857 of file fib_path.c.
int fib_path_is_looped | ( | fib_node_index_t | path_index | ) |
Definition at line 1890 of file fib_path.c.
|
static |
int fib_path_is_recursive | ( | fib_node_index_t | path_index | ) |
Definition at line 1847 of file fib_path.c.
int fib_path_is_resolved | ( | fib_node_index_t | path_index | ) |
Definition at line 1877 of file fib_path.c.
|
static |
Definition at line 515 of file fib_path.c.
|
static |
void fib_path_module_init | ( | void | ) |
Definition at line 1953 of file fib_path.c.
|
static |
|
static |
Definition at line 580 of file fib_path.c.
int fib_path_recursive_loop_detect | ( | fib_node_index_t | path_index, |
fib_node_index_t ** | entry_indicies | ||
) |
Definition at line 1377 of file fib_path.c.
int fib_path_resolve | ( | fib_node_index_t | path_index | ) |
Definition at line 1457 of file fib_path.c.
|
static |
|
static |
Definition at line 681 of file fib_path.c.
Definition at line 357 of file fib_path.c.
|
static |
|
static |
Definition at line 305 of file fib_path.c.
|
static |
Definition at line 304 of file fib_path.c.
|
static |
Definition at line 310 of file fib_path.c.
|
static |
Definition at line 303 of file fib_path.c.
|
static |
Definition at line 947 of file fib_path.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_fib_path)
Definition at line 1997 of file fib_path.c.