FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
ip4_neighbor.c File Reference
+ Include dependency graph for ip4_neighbor.c:

Go to the source code of this file.

Macros

#define foreach_notrace_ip4_arp_error
 

Functions

void ip4_neighbor_probe_dst (const ip_adjacency_t *adj, const ip4_address_t *dst)
 
void ip4_neighbor_advertise (vlib_main_t *vm, vnet_main_t *vnm, u32 sw_if_index, const ip4_address_t *addr)
 
static uword ip4_arp_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, int is_glean)
 
VLIB_NODE_FN() ip4_arp_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
VLIB_NODE_FN() ip4_glean_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static clib_error_tarp_notrace_init (vlib_main_t *vm)
 

Variables

static char * ip4_arp_error_strings []
 
vlib_node_registration_t ip4_arp_node
 (constructor) VLIB_REGISTER_NODE (ip4_arp_node) More...
 
vlib_node_registration_t ip4_glean_node
 (constructor) VLIB_REGISTER_NODE (ip4_glean_node) More...
 

Macro Definition Documentation

◆ foreach_notrace_ip4_arp_error

#define foreach_notrace_ip4_arp_error
Value:
_(THROTTLED) \
_(RESOLVED) \
_(NO_BUFFERS) \
_(REQUEST_SENT) \
_(NON_ARP_ADJ) \
_(NO_SOURCE_ADDRESS)

Definition at line 288 of file ip4_neighbor.c.

Function Documentation

◆ arp_notrace_init()

static clib_error_t* arp_notrace_init ( vlib_main_t vm)
static

Definition at line 297 of file ip4_neighbor.c.

+ Here is the call graph for this function:

◆ ip4_arp_inline()

static uword ip4_arp_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
int  is_glean 
)
inlinestatic

Definition at line 116 of file ip4_neighbor.c.

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

◆ ip4_arp_node()

VLIB_NODE_FN() ip4_arp_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 239 of file ip4_neighbor.c.

+ Here is the call graph for this function:

◆ ip4_glean_node()

VLIB_NODE_FN() ip4_glean_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 245 of file ip4_neighbor.c.

+ Here is the call graph for this function:

◆ ip4_neighbor_advertise()

void ip4_neighbor_advertise ( vlib_main_t vm,
vnet_main_t vnm,
u32  sw_if_index,
const ip4_address_t addr 
)

Definition at line 59 of file ip4_neighbor.c.

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

◆ ip4_neighbor_probe_dst()

void ip4_neighbor_probe_dst ( const ip_adjacency_t adj,
const ip4_address_t dst 
)

Definition at line 44 of file ip4_neighbor.c.

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

Variable Documentation

◆ ip4_arp_error_strings

char* ip4_arp_error_strings[]
static
Initial value:
= {
[IP4_ARP_ERROR_THROTTLED] = "ARP requests throttled",
[IP4_ARP_ERROR_RESOLVED] = "ARP requests resolved",
[IP4_ARP_ERROR_NO_BUFFERS] = "ARP requests out of buffer",
[IP4_ARP_ERROR_REQUEST_SENT] = "ARP requests sent",
[IP4_ARP_ERROR_NON_ARP_ADJ] = "ARPs to non-ARP adjacencies",
[IP4_ARP_ERROR_NO_SOURCE_ADDRESS] = "no source address for ARP request",
}

Definition at line 251 of file ip4_neighbor.c.

◆ ip4_arp_node

Initial value:
=
{
.name = "ip4-arp",
.vector_size = sizeof (u32),
.error_strings = ip4_arp_error_strings,
.n_next_nodes = IP4_ARP_N_NEXT,
.next_nodes = {
[IP4_ARP_NEXT_DROP] = "ip4-drop",
},
}
unsigned int u32
Definition: types.h:88
#define ARRAY_LEN(x)
Definition: clib.h:62
u8 * format_ip4_forward_next_trace(u8 *s, va_list *args)
Definition: ip4_forward.c:1164
static char * ip4_arp_error_strings[]
Definition: ip4_neighbor.c:251

(constructor) VLIB_REGISTER_NODE (ip4_arp_node)

Definition at line 261 of file ip4_neighbor.c.

◆ ip4_glean_node

vlib_node_registration_t ip4_glean_node
Initial value:
=
{
.name = "ip4-glean",
.vector_size = sizeof (u32),
.error_strings = ip4_arp_error_strings,
.n_next_nodes = IP4_ARP_N_NEXT,
.next_nodes = {
[IP4_ARP_NEXT_DROP] = "ip4-drop",
},
}
unsigned int u32
Definition: types.h:88
#define ARRAY_LEN(x)
Definition: clib.h:62
u8 * format_ip4_forward_next_trace(u8 *s, va_list *args)
Definition: ip4_forward.c:1164
static char * ip4_arp_error_strings[]
Definition: ip4_neighbor.c:251

(constructor) VLIB_REGISTER_NODE (ip4_glean_node)

Definition at line 274 of file ip4_neighbor.c.