FD.io VPP
v17.07-30-g839fa73
Vector Packet Processing
|
IP unicast adjacency. More...
Public Member Functions | |
CLIB_CACHE_LINE_ALIGN_MARK (cacheline0) | |
CLIB_CACHE_LINE_ALIGN_MARK (cacheline1) | |
vnet_declare_rewrite (VLIB_BUFFER_PRE_DATA_SIZE) | |
Data Fields | |
fib_node_t | ia_node |
Linkage into the FIB node grpah. More... | |
ip_lookup_next_t | lookup_next_index |
Next hop after ip4-lookup. More... | |
vnet_link_t | ia_link |
link/ether-type 1 bytes More... | |
fib_protocol_t | ia_nh_proto |
The protocol of the neighbor/peer. More... | |
adj_flags_t | ia_flags |
Flags on the adjacency 1-bytes. More... | |
union { | |
struct { | |
ip46_address_t next_hop | |
} nbr | |
IP_LOOKUP_NEXT_ARP/IP_LOOKUP_NEXT_REWRITE. More... | |
struct { | |
ip46_address_t next_hop | |
The recursive next-hop. More... | |
dpo_id_t next_dpo | |
The next DPO to use. More... | |
adj_midchain_fixup_t fixup_func | |
A function to perform the post-rewrite fixup. More... | |
} midchain | |
IP_LOOKUP_NEXT_MIDCHAIN. More... | |
struct { | |
ip46_address_t receive_addr | |
} glean | |
IP_LOOKUP_NEXT_GLEAN. More... | |
} | sub_type |
struct adj_delegate_t_ * | ia_delegates |
more control plane members that do not fit on the first cacheline More... | |
IP unicast adjacency.
An adjacency is a represenation of a peer on a particular link.
ip_adjacency_t_::CLIB_CACHE_LINE_ALIGN_MARK | ( | cacheline0 | ) |
ip_adjacency_t_::CLIB_CACHE_LINE_ALIGN_MARK | ( | cacheline1 | ) |
ip_adjacency_t_::vnet_declare_rewrite | ( | VLIB_BUFFER_PRE_DATA_SIZE | ) |
adj_midchain_fixup_t ip_adjacency_t_::fixup_func |
struct { ... } ip_adjacency_t_::glean |
IP_LOOKUP_NEXT_GLEAN.
Glean the address to ARP for from the packet's destination. Technically these aren't adjacencies, i.e. they are not a representation of a peer. One day we might untangle this coupling and use a new Glean DPO.
struct adj_delegate_t_* ip_adjacency_t_::ia_delegates |
adj_flags_t ip_adjacency_t_::ia_flags |
vnet_link_t ip_adjacency_t_::ia_link |
fib_protocol_t ip_adjacency_t_::ia_nh_proto |
fib_node_t ip_adjacency_t_::ia_node |
ip_lookup_next_t ip_adjacency_t_::lookup_next_index |
struct { ... } ip_adjacency_t_::midchain |
IP_LOOKUP_NEXT_MIDCHAIN.
A nbr adj that is also recursive. Think tunnels. A nbr adj can transition to be of type MDICHAIN so be sure to leave the two structs with the next_hop fields aligned.
struct { ... } ip_adjacency_t_::nbr |
IP_LOOKUP_NEXT_ARP/IP_LOOKUP_NEXT_REWRITE.
neighbour adjacency sub-type;
ip46_address_t ip_adjacency_t_::next_hop |
union { ... } ip_adjacency_t_::sub_type |