FD.io VPP
v18.04-17-g3a0d853
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | fib_path_ext_t_ |
A path extension is a per-entry addition to the forwarding information when packets are sent for that entry over that path. More... | |
Macros | |
#define | FIB_PATH_EXT_ADJ_ATTR_NAMES |
#define | FOR_EACH_PATH_EXT_ADJ_ATTR(_item) |
#define | FIB_PATH_EXT_MPLS_ATTR_NAMES |
#define | FOR_EACH_PATH_EXT_MPLS_ATTR(_item) |
#define | fpe_label_stack fpe_path.frp_label_stack |
Typedefs | |
typedef enum fib_path_ext_type_t_ | fib_path_ext_type_t |
A description of the type of path extension. More... | |
typedef enum fib_path_ext_adj_attr_t_ | fib_path_ext_adj_attr_t |
Flags present on an ADJ sourced path-extension. More... | |
typedef enum fib_path_ext_adj_flags_t_ | fib_path_ext_adj_flags_t |
typedef enum fib_path_ext_mpls_attr_t_ | fib_path_ext_mpls_attr_t |
Flags present on an MPLS label sourced path-extension. More... | |
typedef enum fib_path_ext_mpls_flags_t_ | fib_path_ext_mpls_flags_t |
typedef struct fib_path_ext_t_ | fib_path_ext_t |
A path extension is a per-entry addition to the forwarding information when packets are sent for that entry over that path. More... | |
Enumerations | |
enum | fib_path_ext_type_t_ { FIB_PATH_EXT_MPLS, FIB_PATH_EXT_ADJ } |
A description of the type of path extension. More... | |
enum | fib_path_ext_adj_attr_t_ { FIB_PATH_EXT_ADJ_ATTR_REFINES_COVER } |
Flags present on an ADJ sourced path-extension. More... | |
enum | fib_path_ext_adj_flags_t_ { FIB_PATH_EXT_ADJ_FLAG_NONE = 0, FIB_PATH_EXT_ADJ_FLAG_REFINES_COVER = (1 << FIB_PATH_EXT_ADJ_ATTR_REFINES_COVER) } |
enum | fib_path_ext_mpls_attr_t_ { FIB_PATH_EXT_MPLS_ATTR_NO_IP_TTL_DECR } |
Flags present on an MPLS label sourced path-extension. More... | |
enum | fib_path_ext_mpls_flags_t_ { FIB_PATH_EXT_MPLS_FLAG_NONE = 0, FIB_PATH_EXT_MPLS_FLAG_NO_IP_TTL_DECR = (1 << FIB_PATH_EXT_MPLS_ATTR_NO_IP_TTL_DECR) } |
#define FIB_PATH_EXT_ADJ_ATTR_NAMES |
Definition at line 53 of file fib_path_ext.h.
#define FIB_PATH_EXT_MPLS_ATTR_NAMES |
Definition at line 79 of file fib_path_ext.h.
#define FOR_EACH_PATH_EXT_ADJ_ATTR | ( | _item | ) |
Definition at line 57 of file fib_path_ext.h.
#define FOR_EACH_PATH_EXT_MPLS_ATTR | ( | _item | ) |
Definition at line 83 of file fib_path_ext.h.
#define fpe_label_stack fpe_path.frp_label_stack |
Definition at line 106 of file fib_path_ext.h.
typedef enum fib_path_ext_adj_attr_t_ fib_path_ext_adj_attr_t |
Flags present on an ADJ sourced path-extension.
typedef enum fib_path_ext_adj_flags_t_ fib_path_ext_adj_flags_t |
typedef enum fib_path_ext_mpls_attr_t_ fib_path_ext_mpls_attr_t |
Flags present on an MPLS label sourced path-extension.
typedef enum fib_path_ext_mpls_flags_t_ fib_path_ext_mpls_flags_t |
typedef struct fib_path_ext_t_ fib_path_ext_t |
A path extension is a per-entry addition to the forwarding information when packets are sent for that entry over that path.
For example: ip route add 1.1.1.1/32 via 10.10.10.10 out-label 100
The out-going MPLS label value 100 is a path-extension. It is a value sepcific to the entry 1.1.1.1/32 and valid only when packets are sent via 10.10.10.10.
typedef enum fib_path_ext_type_t_ fib_path_ext_type_t |
A description of the type of path extension.
Flags present on an ADJ sourced path-extension.
Enumerator | |
---|---|
FIB_PATH_EXT_ADJ_ATTR_REFINES_COVER |
Definition at line 42 of file fib_path_ext.h.
Enumerator | |
---|---|
FIB_PATH_EXT_ADJ_FLAG_NONE | |
FIB_PATH_EXT_ADJ_FLAG_REFINES_COVER |
Definition at line 47 of file fib_path_ext.h.
Flags present on an MPLS label sourced path-extension.
Enumerator | |
---|---|
FIB_PATH_EXT_MPLS_ATTR_NO_IP_TTL_DECR |
Do not decrement the TTL of IP packet during imposition. |
Definition at line 65 of file fib_path_ext.h.
Enumerator | |
---|---|
FIB_PATH_EXT_MPLS_FLAG_NONE | |
FIB_PATH_EXT_MPLS_FLAG_NO_IP_TTL_DECR |
Definition at line 73 of file fib_path_ext.h.
enum fib_path_ext_type_t_ |
A description of the type of path extension.
Enumerator | |
---|---|
FIB_PATH_EXT_MPLS |
An MPLS extension that maintains the path's outgoing labels,. |
FIB_PATH_EXT_ADJ |
A adj-source extension indicating the path's refinement criteria result. |
Definition at line 26 of file fib_path_ext.h.
int fib_path_ext_cmp | ( | fib_path_ext_t * | path_ext, |
const fib_route_path_t * | rpath | ||
) |
Definition at line 90 of file fib_path_ext.c.
fib_path_ext_t* fib_path_ext_list_find | ( | const fib_path_ext_list_t * | list, |
fib_path_ext_type_t | ext_type, | ||
const fib_route_path_t * | rpath | ||
) |
Definition at line 309 of file fib_path_ext.c.
fib_path_ext_t* fib_path_ext_list_find_by_path_index | ( | const fib_path_ext_list_t * | list, |
fib_node_index_t | path_index | ||
) |
void fib_path_ext_list_flush | ( | fib_path_ext_list_t * | list | ) |
fib_path_ext_t* fib_path_ext_list_insert | ( | fib_path_ext_list_t * | list, |
fib_node_index_t | path_list_index, | ||
fib_path_ext_type_t | ext_type, | ||
const fib_route_path_t * | rpath | ||
) |
Definition at line 370 of file fib_path_ext.c.
int fib_path_ext_list_length | ( | const fib_path_ext_list_t * | list | ) |
fib_path_ext_t* fib_path_ext_list_push_back | ( | fib_path_ext_list_t * | list, |
fib_node_index_t | path_list_index, | ||
fib_path_ext_type_t | ext_type, | ||
const fib_route_path_t * | rpath | ||
) |
Definition at line 344 of file fib_path_ext.c.
void fib_path_ext_list_remove | ( | fib_path_ext_list_t * | list, |
fib_path_ext_type_t | ext_type, | ||
const fib_route_path_t * | rpath | ||
) |
Definition at line 426 of file fib_path_ext.c.
void fib_path_ext_list_resolve | ( | fib_path_ext_list_t * | list, |
fib_node_index_t | path_list_index | ||
) |
Definition at line 414 of file fib_path_ext.c.
void fib_path_ext_resolve | ( | fib_path_ext_t * | path_ext, |
fib_node_index_t | path_list_index | ||
) |
Definition at line 113 of file fib_path_ext.c.
load_balance_path_t* fib_path_ext_stack | ( | fib_path_ext_t * | path_ext, |
fib_forward_chain_type_t | fct, | ||
fib_forward_chain_type_t | imp_null_fct, | ||
load_balance_path_t * | nhs | ||
) |
Definition at line 166 of file fib_path_ext.c.
Definition at line 31 of file fib_path_ext.c.
Definition at line 459 of file fib_path_ext.c.