FD.io VPP  v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
arp.h File Reference
+ Include dependency graph for arp.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ethernet_arp_ip4_entry_t
 
struct  wc_arp_report_t
 

Typedefs

typedef int(* arp_change_event_cb_t) (u32 pool_index, const mac_address_t *mac, u32 sw_if_index, const ip4_address_t *address)
 
typedef walk_rc_t() proxy_arp_walk_t(const ip4_address_t *lo_addr, const ip4_address_t *hi_addr, u32 fib_index, void *dat)
 call back function when walking the DB of proxy ARPs More...
 

Functions

u8format_ethernet_arp_ip4_entry (u8 *s, va_list *va)
 
ethernet_arp_ip4_entry_tip4_neighbors_pool (void)
 
ethernet_arp_ip4_entry_tip4_neighbor_entries (u32 sw_if_index)
 
int vnet_proxy_arp_add_del (ip4_address_t *lo_addr, ip4_address_t *hi_addr, u32 fib_index, int is_del)
 
int vnet_arp_set_ip4_over_ethernet (vnet_main_t *vnm, u32 sw_if_index, const ethernet_arp_ip4_over_ethernet_address_t *a, ip_neighbor_flags_t flags)
 
int vnet_arp_unset_ip4_over_ethernet (vnet_main_t *vnm, u32 sw_if_index, const ethernet_arp_ip4_over_ethernet_address_t *a)
 Control Plane hook to remove an ARP entry. More...
 
int vnet_proxy_arp_fib_reset (u32 fib_id)
 
void vnet_register_ip4_arp_resolution_event (vnet_main_t *vnm, void *address_arg, uword node_index, uword type_opaque, uword data)
 
int vnet_add_del_ip4_arp_change_event (vnet_main_t *vnm, arp_change_event_cb_t data_callback, u32 pid, void *address_arg, uword node_index, uword type_opaque, uword data, int is_add)
 
void wc_arp_set_publisher_node (uword inode_index, uword event_type)
 
void ethernet_arp_change_mac (u32 sw_if_index)
 
void ethernet_ndp_change_mac (u32 sw_if_index)
 
void arp_update_adjacency (vnet_main_t *vnm, u32 sw_if_index, u32 ai)
 
void proxy_arp_walk (proxy_arp_walk_t cb, void *data)
 

Typedef Documentation

◆ arp_change_event_cb_t

typedef int(* arp_change_event_cb_t) (u32 pool_index, const mac_address_t *mac, u32 sw_if_index, const ip4_address_t *address)

Definition at line 69 of file arp.h.

◆ proxy_arp_walk_t

typedef walk_rc_t() proxy_arp_walk_t(const ip4_address_t *lo_addr, const ip4_address_t *hi_addr, u32 fib_index, void *dat)

call back function when walking the DB of proxy ARPs

Returns
0 to stop the walk !0 to continue

Definition at line 100 of file arp.h.

Function Documentation

◆ arp_update_adjacency()

void arp_update_adjacency ( vnet_main_t vnm,
u32  sw_if_index,
u32  ai 
)

Definition at line 446 of file arp.c.

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

◆ ethernet_arp_change_mac()

void ethernet_arp_change_mac ( u32  sw_if_index)

Definition at line 2537 of file arp.c.

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

◆ ethernet_ndp_change_mac()

void ethernet_ndp_change_mac ( u32  sw_if_index)

Definition at line 4926 of file ip6_neighbor.c.

+ Here is the caller graph for this function:

◆ format_ethernet_arp_ip4_entry()

u8* format_ethernet_arp_ip4_entry ( u8 s,
va_list *  va 
)

Definition at line 251 of file arp.c.

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

◆ ip4_neighbor_entries()

ethernet_arp_ip4_entry_t* ip4_neighbor_entries ( u32  sw_if_index)

Definition at line 1394 of file arp.c.

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

◆ ip4_neighbors_pool()

ethernet_arp_ip4_entry_t* ip4_neighbors_pool ( void  )

Definition at line 1387 of file arp.c.

+ Here is the caller graph for this function:

◆ proxy_arp_walk()

void proxy_arp_walk ( proxy_arp_walk_t  cb,
void *  data 
)

Definition at line 1985 of file arp.c.

+ Here is the caller graph for this function:

◆ vnet_add_del_ip4_arp_change_event()

int vnet_add_del_ip4_arp_change_event ( vnet_main_t vnm,
arp_change_event_cb_t  data_callback,
u32  pid,
void *  address_arg,
uword  node_index,
uword  type_opaque,
uword  data,
int  is_add 
)

Definition at line 801 of file arp.c.

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

◆ vnet_arp_set_ip4_over_ethernet()

int vnet_arp_set_ip4_over_ethernet ( vnet_main_t vnm,
u32  sw_if_index,
const ethernet_arp_ip4_over_ethernet_address_t *  a,
ip_neighbor_flags_t  flags 
)

Definition at line 1966 of file arp.c.

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

◆ vnet_arp_unset_ip4_over_ethernet()

int vnet_arp_unset_ip4_over_ethernet ( vnet_main_t vnm,
u32  sw_if_index,
const ethernet_arp_ip4_over_ethernet_address_t *  a 
)

Control Plane hook to remove an ARP entry.

Definition at line 1553 of file arp.c.

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

◆ vnet_proxy_arp_add_del()

int vnet_proxy_arp_add_del ( ip4_address_t lo_addr,
ip4_address_t hi_addr,
u32  fib_index,
int  is_del 
)

Definition at line 1998 of file arp.c.

+ Here is the caller graph for this function:

◆ vnet_proxy_arp_fib_reset()

int vnet_proxy_arp_fib_reset ( u32  fib_id)

Definition at line 2039 of file arp.c.

+ Here is the call graph for this function:

◆ vnet_register_ip4_arp_resolution_event()

void vnet_register_ip4_arp_resolution_event ( vnet_main_t vnm,
void *  address_arg,
uword  node_index,
uword  type_opaque,
uword  data 
)

Definition at line 770 of file arp.c.

+ Here is the caller graph for this function:

◆ wc_arp_set_publisher_node()

void wc_arp_set_publisher_node ( uword  inode_index,
uword  event_type 
)

Definition at line 1611 of file arp.c.

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