|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
16 #ifndef __FIB_ENTRY_DELEGATE_T__
17 #define __FIB_ENTRY_DELEGATE_T__
61 #define FOR_EACH_DELEGATE_CHAIN(_entry, _fdt, _fed, _body) \
63 for (_fdt = FIB_ENTRY_DELEGATE_CHAIN_UNICAST_IP4; \
64 _fdt <= FIB_ENTRY_DELEGATE_CHAIN_NSH; \
67 _fed = fib_entry_delegate_find(_entry, _fdt); \
@ FIB_ENTRY_DELEGATE_ATTACHED_EXPORT
@ FIB_ENTRY_DELEGATE_CHAIN_UNICAST_IP6
@ FIB_ENTRY_DELEGATE_ATTACHED_IMPORT
Attached import/export functionality.
u32 fib_node_list_t
A list of FIB nodes.
fib_entry_delegate_t * fib_entry_delegate_get(fib_node_index_t fedi)
@ FIB_ENTRY_DELEGATE_CHAIN_ETHERNET
@ FIB_FORW_CHAIN_TYPE_MPLS_EOS
Contribute an object that is to be used to forward end-of-stack MPLS packets.
@ FIB_FORW_CHAIN_TYPE_ETHERNET
Contribute an object that is to be used to forward Ethernet packets.
@ FIB_FORW_CHAIN_TYPE_NSH
Contribute an object that is to be used to forward NSH packets.
@ FIB_FORW_CHAIN_TYPE_UNICAST_IP4
Contribute an object that is to be used to forward IP4 packets.
State for FIB entry tracking.
enum fib_bfd_state_t_ fib_bfd_state_t
Distillation of the BFD session states into a go/no-go for using the associated tracked FIB entry.
fib_entry_delegate_t * fib_entry_delegate_find_or_add(fib_entry_t *fib_entry, fib_entry_delegate_type_t fdt)
enum fib_forward_chain_type_t_ fib_forward_chain_type_t
FIB output chain type.
u8 * format_fib_entry_delegate(u8 *s, va_list *args)
fib_node_index_t fib_entry_delegate_get_index(const fib_entry_delegate_t *fed)
u32 fib_node_index_t
A typedef of a node index.
fib_node_index_t fd_entry_index
The FIB entry object to which the delagate is attached.
fib_node_index_t fd_index
Valid for the attached import cases.
fib_bfd_state_t fd_bfd_state
BFD state.
@ FIB_ENTRY_DELEGATE_CHAIN_NSH
@ FIB_ENTRY_DELEGATE_CHAIN_MPLS_EOS
@ FIB_ENTRY_DELEGATE_BFD
BFD session state.
fib_entry_delegate_type_t_
Delegate types.
enum fib_entry_delegate_type_t_ fib_entry_delegate_type_t
Delegate types.
void fib_entry_delegate_remove(fib_entry_t *fib_entry, fib_entry_delegate_type_t type)
@ FIB_ENTRY_DELEGATE_COVERED
Dependency list of covered entries.
@ FIB_FORW_CHAIN_TYPE_MPLS_NON_EOS
Contribute an object that is to be used to forward non-end-of-stack MPLS packets.
fib_node_list_t fd_list
For the cover tracking.
fib_entry_delegate_track_t fd_track
tracker state
@ FIB_ENTRY_DELEGATE_CHAIN_MPLS_NON_EOS
fib_entry_delegate_t * fib_entry_delegate_find(const fib_entry_t *fib_entry, fib_entry_delegate_type_t type)
@ FIB_ENTRY_DELEGATE_CHAIN_UNICAST_IP4
Forwarding chain types: for the vast majority of FIB entries only one chain is required - the one tha...
An node in the FIB graph.
fib_entry_delegate_type_t fib_entry_chain_type_to_delegate_type(fib_forward_chain_type_t type)
struct fib_entry_delegate_track_t_ fib_entry_delegate_track_t
State for FIB entry tracking.
fib_bfd_state_t_
Distillation of the BFD session states into a go/no-go for using the associated tracked FIB entry.
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
fib_entry_delegate_type_t fd_type
The delagate type.
@ FIB_FORW_CHAIN_TYPE_UNICAST_IP6
Contribute an object that is to be used to forward IP6 packets.
A Delagate is a means to implmenet the Delagation design pattern; the extension of an objects functio...
@ FIB_ENTRY_DELEGATE_TRACK
Tracker.
fib_forward_chain_type_t fib_entry_delegate_type_to_chain_type(fib_entry_delegate_type_t type)
vl_api_fib_path_type_t type
dpo_id_t fd_dpo
Valid for the forwarding chain delegates.
struct fib_entry_delegate_t_ fib_entry_delegate_t
A Delagate is a means to implmenet the Delagation design pattern; the extension of an objects functio...