FD.io VPP
v17.01.1-3-gc6833f8
Vector Packet Processing
|
Go to the source code of this file.
Macros | |
#define | FIB_PATH_CFG_ATTRIBUTE_MAX (FIB_PATH_CFG_ATTRIBUTE_LAST + 1) |
The maximum number of path attributes. More... | |
#define | FIB_PATH_CFG_ATTRIBUTES |
#define | FOR_EACH_FIB_PATH_CFG_ATTRIBUTE(_item) |
Typedefs | |
typedef enum fib_path_cfg_attribute_t_ | fib_path_cfg_attribute_t |
Given a route of the form; q.r.s.t/Y via <interface> <next-hop> More... | |
typedef enum fib_path_cfg_flags_t_ | fib_path_cfg_flags_t |
Path config flags from the attributes. More... | |
Enumerations | |
enum | fib_path_cfg_attribute_t_ { FIB_PATH_CFG_ATTRIBUTE_FIRST = 0, FIB_PATH_CFG_ATTRIBUTE_DROP = FIB_PATH_CFG_ATTRIBUTE_FIRST, FIB_PATH_CFG_ATTRIBUTE_EXCLUSIVE, FIB_PATH_CFG_ATTRIBUTE_RESOLVE_HOST, FIB_PATH_CFG_ATTRIBUTE_RESOLVE_ATTACHED, FIB_PATH_CFG_ATTRIBUTE_LOCAL, FIB_PATH_CFG_ATTRIBUTE_LAST = FIB_PATH_CFG_ATTRIBUTE_LOCAL } |
Given a route of the form; q.r.s.t/Y via <interface> <next-hop> More... | |
enum | fib_path_cfg_flags_t_ { FIB_PATH_CFG_FLAG_NONE = 0, FIB_PATH_CFG_FLAG_DROP = (1 << FIB_PATH_CFG_ATTRIBUTE_DROP), FIB_PATH_CFG_FLAG_EXCLUSIVE = (1 << FIB_PATH_CFG_ATTRIBUTE_EXCLUSIVE), FIB_PATH_CFG_FLAG_RESOLVE_HOST = (1 << FIB_PATH_CFG_ATTRIBUTE_RESOLVE_HOST), FIB_PATH_CFG_FLAG_RESOLVE_ATTACHED = (1 << FIB_PATH_CFG_ATTRIBUTE_RESOLVE_ATTACHED), FIB_PATH_CFG_FLAG_LOCAL = (1 << FIB_PATH_CFG_ATTRIBUTE_LOCAL) } |
Path config flags from the attributes. More... | |
#define FIB_PATH_CFG_ATTRIBUTE_MAX (FIB_PATH_CFG_ATTRIBUTE_LAST + 1) |
The maximum number of path attributes.
Definition at line 78 of file fib_path.h.
#define FIB_PATH_CFG_ATTRIBUTES |
Definition at line 80 of file fib_path.h.
#define FOR_EACH_FIB_PATH_CFG_ATTRIBUTE | ( | _item | ) |
Definition at line 88 of file fib_path.h.
typedef enum fib_path_cfg_attribute_t_ fib_path_cfg_attribute_t |
Given a route of the form; q.r.s.t/Y via <interface> <next-hop>
The prefix is: q.r.s.t./Y the path is: 'via <interface> <next-hop>
The path is the description of where to send the traffic, and the the prefix is a description of which traffic to send. It is the aim of the FIB to resolve the path, i.e. to find the corresponding adjacency to match the path's description. Enurmeration of path configuration attributes
typedef enum fib_path_cfg_flags_t_ fib_path_cfg_flags_t |
Path config flags from the attributes.
Given a route of the form; q.r.s.t/Y via <interface> <next-hop>
The prefix is: q.r.s.t./Y the path is: 'via <interface> <next-hop>
The path is the description of where to send the traffic, and the the prefix is a description of which traffic to send. It is the aim of the FIB to resolve the path, i.e. to find the corresponding adjacency to match the path's description. Enurmeration of path configuration attributes
Definition at line 42 of file fib_path.h.
Path config flags from the attributes.
Enumerator | |
---|---|
FIB_PATH_CFG_FLAG_NONE | |
FIB_PATH_CFG_FLAG_DROP | |
FIB_PATH_CFG_FLAG_EXCLUSIVE | |
FIB_PATH_CFG_FLAG_RESOLVE_HOST | |
FIB_PATH_CFG_FLAG_RESOLVE_ATTACHED | |
FIB_PATH_CFG_FLAG_LOCAL |
Definition at line 96 of file fib_path.h.
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.
int fib_path_cmp | ( | fib_node_index_t | path_index1, |
fib_node_index_t | path_index2 | ||
) |
Definition at line 1277 of file fib_path.c.
int fib_path_cmp_for_sort | ( | void * | a1, |
void * | a2 | ||
) |
Definition at line 1259 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 | type, | ||
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 * | path | ||
) |
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.
adj_index_t fib_path_get_adj | ( | fib_node_index_t | path_index | ) |
Definition at line 1641 of file fib_path.c.
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 | fib_entry_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.
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.
void fib_path_module_init | ( | void | ) |
Definition at line 1953 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.
Definition at line 357 of file fib_path.c.