![]() |
FD.io VPP
v17.07.01-10-g3be13f0
Vector Packet Processing
|
IP unicast adjacency. More...
Collaboration diagram for ip_adjacency_t_: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 |