FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
adj_internal.h File Reference
+ Include dependency graph for adj_internal.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ADJ_DBG(_e, _fmt, _args...)
 big switch to turn on Adjacency debugging More...
 

Functions

static u32 adj_get_rewrite_node (vnet_link_t linkt)
 
static vnet_link_t adj_fib_proto_2_nd (fib_protocol_t fp)
 
static ip46_type_t adj_proto_to_46 (fib_protocol_t proto)
 
static adj_index_t adj_get_index (const ip_adjacency_t *adj)
 Get a pointer to an adjacency object from its index. More...
 
void adj_nbr_update_rewrite_internal (ip_adjacency_t *adj, ip_lookup_next_t adj_next_index, u32 complete_next_index, u32 next_index, u8 *rewrite)
 adj_nbr_update_rewrite_internal More...
 
void adj_midchain_setup (adj_index_t adj_index, adj_midchain_fixup_t fixup, const void *data, adj_flags_t flags)
 adj_midchain_setup More...
 
ip_adjacency_tadj_alloc (fib_protocol_t proto)
 
void adj_nbr_remove (adj_index_t ai, fib_protocol_t nh_proto, vnet_link_t link_type, const ip46_address_t *nh_addr, u32 sw_if_index)
 
void adj_glean_remove (ip_adjacency_t *adj)
 
void adj_mcast_remove (fib_protocol_t proto, u32 sw_if_index)
 
void adj_midchain_teardown (ip_adjacency_t *adj)
 adj_midchain_setup More...
 
u32 adj_dpo_get_urpf (const dpo_id_t *dpo)
 
u16 adj_dpo_get_mtu (const dpo_id_t *dpo)
 
int adj_bfd_is_up (adj_index_t ai)
 
void adj_delegate_adj_deleted (ip_adjacency_t *adj)
 
void adj_delegate_adj_created (ip_adjacency_t *adj)
 
void adj_delegate_adj_modified (ip_adjacency_t *adj)
 
u8adj_delegate_format (u8 *s, ip_adjacency_t *adj)
 

Variables

vlib_node_registration_t adj_nsh_midchain_node
 (constructor) VLIB_REGISTER_NODE (adj_nsh_midchain_node) More...
 
vlib_node_registration_t adj_nsh_rewrite_node
 (constructor) VLIB_REGISTER_NODE (adj_nsh_rewrite_node) More...
 
vlib_node_registration_t adj_midchain_tx_no_count_node
 (constructor) VLIB_REGISTER_NODE (adj_midchain_tx_no_count_node) More...
 
vlib_node_registration_t adj_midchain_tx_node
 (constructor) VLIB_REGISTER_NODE (adj_midchain_tx_node) More...
 

Macro Definition Documentation

◆ ADJ_DBG

#define ADJ_DBG (   _e,
  _fmt,
  _args... 
)

big switch to turn on Adjacency debugging

Definition at line 42 of file adj_internal.h.

Function Documentation

◆ adj_alloc()

ip_adjacency_t* adj_alloc ( fib_protocol_t  proto)

Definition at line 64 of file adj.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ adj_bfd_is_up()

int adj_bfd_is_up ( adj_index_t  ai)

Definition at line 239 of file adj_bfd.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ adj_delegate_adj_created()

void adj_delegate_adj_created ( ip_adjacency_t adj)

Definition at line 158 of file adj_delegate.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ adj_delegate_adj_deleted()

void adj_delegate_adj_deleted ( ip_adjacency_t adj)

Definition at line 142 of file adj_delegate.c.

+ Here is the caller graph for this function:

◆ adj_delegate_adj_modified()

void adj_delegate_adj_modified ( ip_adjacency_t adj)

Definition at line 128 of file adj_delegate.c.

+ Here is the caller graph for this function:

◆ adj_delegate_format()

u8* adj_delegate_format ( u8 s,
ip_adjacency_t adj 
)

Definition at line 172 of file adj_delegate.c.

+ Here is the caller graph for this function:

◆ adj_dpo_get_mtu()

u16 adj_dpo_get_mtu ( const dpo_id_t dpo)

Definition at line 331 of file adj.c.

+ Here is the call graph for this function:

◆ adj_dpo_get_urpf()

u32 adj_dpo_get_urpf ( const dpo_id_t dpo)

Definition at line 321 of file adj.c.

+ Here is the call graph for this function:

◆ adj_fib_proto_2_nd()

static vnet_link_t adj_fib_proto_2_nd ( fib_protocol_t  fp)
inlinestatic

Definition at line 75 of file adj_internal.h.

+ Here is the caller graph for this function:

◆ adj_get_index()

static adj_index_t adj_get_index ( const ip_adjacency_t adj)
inlinestatic

Get a pointer to an adjacency object from its index.

Definition at line 109 of file adj_internal.h.

+ Here is the caller graph for this function:

◆ adj_get_rewrite_node()

static u32 adj_get_rewrite_node ( vnet_link_t  linkt)
inlinestatic

Definition at line 54 of file adj_internal.h.

+ Here is the caller graph for this function:

◆ adj_glean_remove()

void adj_glean_remove ( ip_adjacency_t adj)

Definition at line 307 of file adj_glean.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ adj_mcast_remove()

void adj_mcast_remove ( fib_protocol_t  proto,
u32  sw_if_index 
)

Definition at line 180 of file adj_mcast.c.

+ Here is the caller graph for this function:

◆ adj_midchain_setup()

void adj_midchain_setup ( adj_index_t  adj_index,
adj_midchain_fixup_t  fixup,
const void *  data,
adj_flags_t  flags 
)

adj_midchain_setup

Setup the adj as a mid-chain

Definition at line 153 of file adj_midchain.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ adj_midchain_teardown()

void adj_midchain_teardown ( ip_adjacency_t adj)

adj_midchain_setup

Setup the adj as a mid-chain

Definition at line 132 of file adj_midchain.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ adj_nbr_remove()

void adj_nbr_remove ( adj_index_t  ai,
fib_protocol_t  nh_proto,
vnet_link_t  link_type,
const ip46_address_t *  nh_addr,
u32  sw_if_index 
)

Definition at line 85 of file adj_nbr.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ adj_nbr_update_rewrite_internal()

void adj_nbr_update_rewrite_internal ( ip_adjacency_t adj,
ip_lookup_next_t  adj_next_index,
u32  this_node,
u32  next_node,
u8 rewrite 
)

adj_nbr_update_rewrite_internal

Update the adjacency's rewrite string. A NULL string implies the rewrite is reset (i.e. when ARP/ND entry is gone). NB: the adj being updated may be handling traffic in the DP.

Definition at line 382 of file adj_nbr.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ adj_proto_to_46()

static ip46_type_t adj_proto_to_46 ( fib_protocol_t  proto)
inlinestatic

Definition at line 90 of file adj_internal.h.

+ Here is the caller graph for this function:

Variable Documentation

◆ adj_midchain_tx_no_count_node

vlib_node_registration_t adj_midchain_tx_no_count_node

(constructor) VLIB_REGISTER_NODE (adj_midchain_tx_no_count_node)

Definition at line 234 of file adj_midchain_node.c.

◆ adj_midchain_tx_node

vlib_node_registration_t adj_midchain_tx_node

(constructor) VLIB_REGISTER_NODE (adj_midchain_tx_node)

Definition at line 213 of file adj_midchain_node.c.

◆ adj_nsh_midchain_node

vlib_node_registration_t adj_nsh_midchain_node

(constructor) VLIB_REGISTER_NODE (adj_nsh_midchain_node)

Definition at line 180 of file adj_nsh.c.

◆ adj_nsh_rewrite_node

vlib_node_registration_t adj_nsh_rewrite_node

(constructor) VLIB_REGISTER_NODE (adj_nsh_rewrite_node)

Definition at line 168 of file adj_nsh.c.