FD.io VPP  v20.01-48-g3e0dafb74
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.

Macros

#define foreach_ethernet_arp_error
 

Typedefs

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...
 

Enumerations

enum  ethernet_arp_reply_error_t { ETHERNET_ARP_N_ERROR, ETHERNET_ARP_N_ERROR }
 

Functions

int arp_proxy_add (u32 fib_index, const ip4_address_t *lo_addr, const ip4_address_t *hi_addr)
 
int arp_proxy_del (u32 fib_index, const ip4_address_t *lo_addr, const ip4_address_t *hi_addr)
 
int arp_proxy_enable (u32 sw_if_index)
 
int arp_proxy_disable (u32 sw_if_index)
 
void proxy_arp_walk (proxy_arp_walk_t cb, void *data)
 
void proxy_arp_intfc_walk (proxy_arp_intf_walk_t cb, void *data)
 

Macro Definition Documentation

◆ foreach_ethernet_arp_error

#define foreach_ethernet_arp_error
Value:
_ (replies_sent, "ARP replies sent") \
_ (l2_type_not_ethernet, "L2 type not ethernet") \
_ (l3_type_not_ip4, "L3 type not IP4") \
_ (l3_src_address_not_local, "IP4 source address not local to subnet") \
_ (l3_dst_address_not_local, "IP4 destination address not local to subnet") \
_ (l3_dst_address_unset, "IP4 destination address is unset") \
_ (l3_src_address_is_local, "IP4 source address matches local interface") \
_ (l3_src_address_learned, "ARP request IP4 source address learned") \
_ (replies_received, "ARP replies received") \
_ (opcode_not_request, "ARP opcode not request") \
_ (proxy_arp_replies_sent, "Proxy ARP replies sent") \
_ (l2_address_mismatch, "ARP hw addr does not match L2 frame src addr") \
_ (gratuitous_arp, "ARP probe or announcement dropped") \
_ (interface_no_table, "Interface is not mapped to an IP table") \
_ (interface_not_ip_enabled, "Interface is not IP enabled") \
_ (unnumbered_mismatch, "RX interface is unnumbered to different subnet") \

Definition at line 23 of file arp.h.

Typedef Documentation

◆ 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 73 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 63 of file arp.h.

Enumeration Type Documentation

◆ ethernet_arp_reply_error_t

Enumerator
ETHERNET_ARP_N_ERROR 
ETHERNET_ARP_N_ERROR 

Definition at line 41 of file arp.h.

Function Documentation

◆ arp_proxy_add()

int arp_proxy_add ( u32  fib_index,
const ip4_address_t lo_addr,
const ip4_address_t hi_addr 
)

Definition at line 127 of file arp_proxy.c.

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

◆ arp_proxy_del()

int arp_proxy_del ( u32  fib_index,
const ip4_address_t lo_addr,
const ip4_address_t hi_addr 
)

Definition at line 134 of file arp_proxy.c.

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

◆ arp_proxy_disable()

int arp_proxy_disable ( u32  sw_if_index)

Definition at line 55 of file arp_proxy.c.

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

◆ arp_proxy_enable()

int arp_proxy_enable ( u32  sw_if_index)

Definition at line 72 of file arp_proxy.c.

+ Here is the call graph for this function:
+ 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 141 of file arp_proxy.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 42 of file arp_proxy.c.

+ Here is the caller graph for this function: