![]() |
FD.io VPP
v17.07-30-g839fa73
Vector Packet Processing
|
IPv4 ARP. More...
Include dependency graph for arp.c: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 const u8 | vrrp_prefix [] = { 0x00, 0x00, 0x5E, 0x00, 0x01 } |
| u32 | send_garp_na_process_node_index |
| 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... | |
| static vlib_node_registration_t | send_garp_na_proc_node |
| (constructor) VLIB_REGISTER_NODE (send_garp_na_proc_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 |
|
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 |
|
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 1458 of file arp.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
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 1481 of file arp.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
| int vnet_arp_set_ip4_over_ethernet | ( | vnet_main_t * | vnm, |
| u32 | sw_if_index, | ||
| void * | a_arg, | ||
| int | is_static, | ||
| int | is_no_fib_entry | ||
| ) |
| 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 | ||
| ) |
| 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 | ||
| ) |
| VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION | ( | ethernet_arp_sw_interface_up_down | ) |
Here is the caller graph for this function:
|
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_REGISTER_NODE (send_garp_na_proc_node)
|
static |
(constructor) VLIB_CLI_COMMAND (set_int_proxy_enable_command)
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip4_arp_command)