|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
16 #ifndef __FIB_PATH_EXT_H__
17 #define __FIB_PATH_EXT_H__
53 #define FIB_PATH_EXT_ADJ_ATTR_NAMES { \
54 [FIB_PATH_EXT_ADJ_ATTR_REFINES_COVER] = "refines-cover", \
57 #define FOR_EACH_PATH_EXT_ADJ_ATTR(_item) \
58 for (_item = FIB_PATH_EXT_ADJ_ATTR_REFINES_COVER; \
59 _item <= FIB_PATH_EXT_ADJ_ATTR_REFINES_COVER; \
79 #define FIB_PATH_EXT_MPLS_ATTR_NAMES { \
80 [FIB_PATH_EXT_MPLS_ATTR_NO_IP_TTL_DECR] = "no-ip-tll-decr", \
83 #define FOR_EACH_PATH_EXT_MPLS_ATTR(_item) \
84 for (_item = FIB_PATH_EXT_MPLS_ATTR_NO_IP_TTL_DECR; \
85 _item <= FIB_PATH_EXT_MPLS_ATTR_NO_IP_TTL_DECR; \
106 #define fpe_label_stack fpe_path.frp_label_stack
enum fib_path_ext_mpls_attr_t_ fib_path_ext_mpls_attr_t
Flags present on an MPLS label sourced path-extension.
@ FIB_PATH_EXT_ADJ_ATTR_REFINES_COVER
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...
fib_path_ext_mpls_flags_t fpe_mpls_flags
For an MPLS type extension.
fib_path_ext_adj_attr_t_
Flags present on an ADJ sourced path-extension.
void fib_path_ext_resolve(fib_path_ext_t *path_ext, fib_node_index_t path_list_index)
fib_path_ext_mpls_flags_t_
enum fib_path_ext_adj_attr_t_ fib_path_ext_adj_attr_t
Flags present on an ADJ sourced path-extension.
fib_path_ext_mpls_attr_t_
Flags present on an MPLS label sourced path-extension.
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)
vl_api_gbp_next_hop_t nhs[8]
enum fib_path_ext_type_t_ fib_path_ext_type_t
A description of the type of path extension.
int fib_path_ext_cmp(fib_path_ext_t *path_ext, const fib_route_path_t *rpath)
fib_path_ext_adj_flags_t_
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)
fib_node_index_t fpe_path_index
The index of the path.
enum fib_path_ext_mpls_flags_t_ fib_path_ext_mpls_flags_t
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)
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)
enum fib_forward_chain_type_t_ fib_forward_chain_type_t
FIB output chain type.
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)
enum fib_path_ext_adj_flags_t_ fib_path_ext_adj_flags_t
A list of path-extensions.
u32 fib_node_index_t
A typedef of a node index.
void fib_path_ext_list_flush(fib_path_ext_list_t *list)
u8 * format_fib_path_ext(u8 *s, va_list *args)
fib_path_ext_type_t_
A description of the type of path extension.
@ FIB_PATH_EXT_MPLS_ATTR_NO_IP_TTL_DECR
Do not decrement the TTL of IP packet during imposition.
@ FIB_PATH_EXT_MPLS
An MPLS extension that maintains the path's outgoing labels,.
@ FIB_PATH_EXT_MPLS_FLAG_NO_IP_TTL_DECR
fib_path_ext_type_t fpe_type
The type of path extension.
fib_route_path_t fpe_path
A description of the path that is being extended.
A representation of a path as described by a route producer.
int fib_path_ext_list_length(const fib_path_ext_list_t *list)
@ FIB_PATH_EXT_ADJ_FLAG_REFINES_COVER
fib_path_ext_adj_flags_t fpe_adj_flags
For an ADJ type extension.
void fib_path_ext_list_resolve(fib_path_ext_list_t *list, fib_node_index_t path_list_index)
A path extension is a per-entry addition to the forwarding information when packets are sent for that...
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)
@ FIB_PATH_EXT_ADJ
A adj-source extension indicating the path's refinement criteria result.
@ FIB_PATH_EXT_ADJ_FLAG_NONE
One path from an [EU]CMP set that the client wants to add to a load-balance object.
u8 * format_fib_path_ext_list(u8 *s, va_list *args)
@ FIB_PATH_EXT_MPLS_FLAG_NONE