FD.io VPP  v17.01-9-ge7dcee4
Vector Packet Processing
ip_adjacency_t_ Struct Reference

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

u16 n_adj
 Number of adjecencies in block. More...
 
union {
   ip_lookup_next_t   lookup_next_index:16
 
   u16   lookup_next_index_as_int
 
}; 
 Next hop after ip4-lookup. More...
 
u32 if_address_index
 Interface address index for this local/arp adjacency. More...
 
u16 mcast_group_index
 Force re-lookup in a different FIB. More...
 
u16 saved_lookup_next_index
 Highest possible perf subgraph arc interposition, e.g. More...
 
vnet_link_t ia_link
 
u8 ia_nh_proto
 
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...
 
      u32   tx_function_node
 The node index of the tunnel's post rewrite/TX function. 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
 
fib_node_t ia_node
 
ip_adjacency_flags_t ia_flags
 Flags on the adjacency. More...
 

Detailed Description

IP unicast adjacency.

Note
cache aligned.

Definition at line 188 of file lookup.h.

Member Function Documentation

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  )

Field Documentation

union { ... }

Next hop after ip4-lookup.

adj_midchain_fixup_t ip_adjacency_t_::fixup_func

A function to perform the post-rewrite fixup.

Definition at line 254 of file lookup.h.

struct { ... } ip_adjacency_t_::glean

IP_LOOKUP_NEXT_GLEAN.

Glean the address to ARP for from the packet's destination

ip_adjacency_flags_t ip_adjacency_t_::ia_flags

Flags on the adjacency.

Definition at line 281 of file lookup.h.

vnet_link_t ip_adjacency_t_::ia_link

Definition at line 215 of file lookup.h.

u8 ip_adjacency_t_::ia_nh_proto

Definition at line 216 of file lookup.h.

fib_node_t ip_adjacency_t_::ia_node

Definition at line 276 of file lookup.h.

u32 ip_adjacency_t_::if_address_index

Interface address index for this local/arp adjacency.

Definition at line 204 of file lookup.h.

ip_lookup_next_t ip_adjacency_t_::lookup_next_index

Definition at line 199 of file lookup.h.

u16 ip_adjacency_t_::lookup_next_index_as_int

Definition at line 200 of file lookup.h.

u16 ip_adjacency_t_::mcast_group_index

Force re-lookup in a different FIB.

~0 => normal behavior

Definition at line 207 of file lookup.h.

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.

u16 ip_adjacency_t_::n_adj

Number of adjecencies in block.

Greater than 1 means multipath; otherwise equal to 1.

Definition at line 194 of file lookup.h.

struct { ... } ip_adjacency_t_::nbr

IP_LOOKUP_NEXT_ARP/IP_LOOKUP_NEXT_REWRITE.

neighbour adjacency sub-type;

dpo_id_t ip_adjacency_t_::next_dpo

The next DPO to use.

Definition at line 250 of file lookup.h.

ip46_address_t ip_adjacency_t_::next_hop

The recursive next-hop.

Definition at line 227 of file lookup.h.

ip46_address_t ip_adjacency_t_::receive_addr

Definition at line 263 of file lookup.h.

u16 ip_adjacency_t_::saved_lookup_next_index

Highest possible perf subgraph arc interposition, e.g.

for ip6 ioam

Definition at line 210 of file lookup.h.

union { ... } ip_adjacency_t_::sub_type
u32 ip_adjacency_t_::tx_function_node

The node index of the tunnel's post rewrite/TX function.

Definition at line 246 of file lookup.h.


The documentation for this struct was generated from the following file: