FD.io VPP  v19.08.1-401-g8e4ed521a
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...
 
typedef walk_rc_t() proxy_arp_intf_walk_t(u32 sw_if_index, void *data)
 call back function when walking the DB of proxy ARP interface 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_proxy_arp_enable_disable (vnet_main_t *vnm, u32 sw_if_index, u8 enable)
 
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)
 
void proxy_arp_intfc_walk (proxy_arp_intf_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 72 of file arp.h.

◆ proxy_arp_intf_walk_t

typedef walk_rc_t() proxy_arp_intf_walk_t(u32 sw_if_index, void *data)

call back function when walking the DB of proxy ARP interface

Returns
0 to stop the walk !0 to continue

Definition at line 113 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 103 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 519 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 2991 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 4907 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 262 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 1786 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 1779 of file arp.c.

+ Here is the caller graph for this function:

◆ proxy_arp_intfc_walk()

void proxy_arp_intfc_walk ( proxy_arp_intf_walk_t  cb,
void *  data 
)

Definition at line 2481 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 2399 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 888 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 2380 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 1945 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 2444 of file arp.c.

+ Here is the caller graph for this function:

◆ vnet_proxy_arp_enable_disable()

int vnet_proxy_arp_enable_disable ( vnet_main_t vnm,
u32  sw_if_index,
u8  enable 
)

Definition at line 2412 of file arp.c.

+ Here is the call graph for this function:
+ 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 2498 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 857 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 2003 of file arp.c.

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