FD.io VPP
v17.01-9-ge7dcee4
Vector Packet Processing
|
IPv4 ARP. More...
Go to the source code of this file.
Data Structures | |
struct | ethernet_arp_interface_t_ |
Per-interface ARP configuration and state. More... | |
struct | ethernet_proxy_arp_t |
struct | pending_resolution_t |
struct | ethernet_arp_main_t |
struct | vnet_arp_set_ip4_over_ethernet_rpc_args_t |
struct | ethernet_arp_input_trace_t |
struct | pg_ethernet_arp_header_t |
Macros | |
#define | ETHERNET_ARP_ARGS_REMOVE (1<<0) |
#define | ETHERNET_ARP_ARGS_FLUSH (1<<1) |
#define | ETHERNET_ARP_ARGS_POPULATE (1<<2) |
#define | foreach_ethernet_arp_error |
Typedefs | |
typedef struct ethernet_arp_interface_t_ | ethernet_arp_interface_t |
Per-interface ARP configuration and state. More... | |
Enumerations | |
enum | arp_input_next_t { ARP_INPUT_NEXT_DROP, ARP_INPUT_NEXT_REPLY_TX, ARP_INPUT_N_NEXT } |
enum | ethernet_arp_input_error_t { ETHERNET_ARP_N_ERROR } |
enum | arp_term_next_t { ARP_TERM_NEXT_L2_OUTPUT, ARP_TERM_NEXT_DROP, ARP_TERM_N_NEXT } |
Variables | |
static ethernet_arp_main_t | ethernet_arp_main |
static char * | ethernet_arp_error_strings [] |
static vlib_node_registration_t | arp_input_node |
(constructor) VLIB_REGISTER_NODE (arp_input_node) More... | |
static vlib_cli_command_t | show_ip4_arp_command |
(constructor) VLIB_CLI_COMMAND (show_ip4_arp_command) More... | |
static vlib_cli_command_t | ip_arp_add_del_command |
(constructor) VLIB_CLI_COMMAND (ip_arp_add_del_command) More... | |
static vlib_cli_command_t | set_int_proxy_enable_command |
(constructor) VLIB_CLI_COMMAND (set_int_proxy_enable_command) More... | |
u32 | arp_term_next_node_index [32] |
static vlib_node_registration_t | arp_term_l2bd_node |
(constructor) VLIB_REGISTER_NODE (arp_term_l2bd_node) More... | |
IPv4 ARP.
This file contains code to manage the IPv4 ARP tables (IP Address to MAC Address lookup).
Definition in file arp.c.
#define foreach_ethernet_arp_error |
typedef struct ethernet_arp_interface_t_ ethernet_arp_interface_t |
Per-interface ARP configuration and state.
enum arp_input_next_t |
enum arp_term_next_t |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
clib_error_t* arp_term_init | ( | vlib_main_t * | vm | ) |
|
static |
|
static |
void arp_update_adjacency | ( | vnet_main_t * | vnm, |
u32 | sw_if_index, | ||
u32 | ai | ||
) |
void change_arp_mac | ( | u32 | sw_if_index, |
ethernet_arp_ip4_entry_t * | e | ||
) |
void ethernet_arp_change_mac | ( | u32 | sw_if_index | ) |
|
static |
|
static |
|
static |
|
static |
ethernet_arp_ip4_entry_t* ip4_neighbor_entries | ( | u32 | sw_if_index | ) |
clib_error_t* ip4_set_arp_limit | ( | u32 | arp_limit | ) |
|
static |
|
inlinestatic |
|
static |
|
static |
|
static |
|
static |
|
static |
uword unformat_pg_arp_header | ( | unformat_input_t * | input, |
va_list * | args | ||
) |
|
static |
int vnet_add_del_ip4_arp_change_event | ( | vnet_main_t * | vnm, |
void * | data_callback, | ||
u32 | pid, | ||
void * | address_arg, | ||
uword | node_index, | ||
uword | type_opaque, | ||
uword | data, | ||
int | is_add | ||
) |
|
static |
Internally generated event to flush the ARP cache on an interface state change event.
A flush will remove dynamic ARP entries, and for statics remove the MAC address from the corresponding adjacencies.
Definition at line 1463 of file arp.c.
|
static |
|
static |
Internally generated event to populate the ARP cache on an interface state change event.
For static entries this will re-source the adjacencies.
sw_if_index | The interface on which the ARP entires are acted |
Definition at line 1486 of file arp.c.
|
static |
int vnet_arp_set_ip4_over_ethernet | ( | vnet_main_t * | vnm, |
u32 | sw_if_index, | ||
void * | a_arg, | ||
int | is_static | ||
) |
int vnet_arp_set_ip4_over_ethernet_internal | ( | vnet_main_t * | vnm, |
vnet_arp_set_ip4_over_ethernet_rpc_args_t * | args | ||
) |
int vnet_arp_unset_ip4_over_ethernet | ( | vnet_main_t * | vnm, |
u32 | sw_if_index, | ||
void * | a_arg | ||
) |
|
inlinestatic |
int vnet_proxy_arp_add_del | ( | ip4_address_t * | lo_addr, |
ip4_address_t * | hi_addr, | ||
u32 | fib_index, | ||
int | is_del | ||
) |
void vnet_register_ip4_arp_resolution_event | ( | vnet_main_t * | vnm, |
void * | address_arg, | ||
uword | node_index, | ||
uword | type_opaque, | ||
uword | data | ||
) |
VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION | ( | ethernet_arp_sw_interface_up_down | ) |
|
static |
(constructor) VLIB_REGISTER_NODE (arp_input_node)
|
static |
(constructor) VLIB_REGISTER_NODE (arp_term_l2bd_node)
|
static |
|
static |
|
static |
(constructor) VLIB_CLI_COMMAND (ip_arp_add_del_command)
|
static |
(constructor) VLIB_CLI_COMMAND (set_int_proxy_enable_command)
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip4_arp_command)