|
static void | set_ip4_over_ethernet_rpc_callback (vnet_arp_set_ip4_over_ethernet_rpc_args_t *a) |
|
static u8 * | format_ethernet_arp_hardware_type (u8 *s, va_list *va) |
|
static u8 * | format_ethernet_arp_opcode (u8 *s, va_list *va) |
|
static uword | unformat_ethernet_arp_opcode_host_byte_order (unformat_input_t *input, va_list *args) |
|
static uword | unformat_ethernet_arp_opcode_net_byte_order (unformat_input_t *input, va_list *args) |
|
static u8 * | format_ethernet_arp_header (u8 *s, va_list *va) |
|
u8 * | format_ethernet_arp_ip4_entry (u8 *s, va_list *va) |
|
static u8 * | format_ethernet_arp_input_trace (u8 *s, va_list *va) |
|
static u8 * | format_arp_term_input_trace (u8 *s, va_list *va) |
|
static void | arp_nbr_probe (ip_adjacency_t *adj) |
|
static void | arp_mk_complete (adj_index_t ai, ethernet_arp_ip4_entry_t *e) |
|
static void | arp_mk_incomplete (adj_index_t ai) |
|
static ethernet_arp_ip4_entry_t * | arp_entry_find (ethernet_arp_interface_t *eai, const ip4_address_t *addr) |
|
static adj_walk_rc_t | arp_mk_complete_walk (adj_index_t ai, void *ctx) |
|
static adj_walk_rc_t | arp_mk_incomplete_walk (adj_index_t ai, void *ctx) |
|
static int | arp_is_enabled (ethernet_arp_main_t *am, u32 sw_if_index) |
|
static void | arp_enable (ethernet_arp_main_t *am, u32 sw_if_index) |
|
static int | vnet_arp_flush_ip4_over_ethernet_internal (vnet_main_t *vnm, vnet_arp_set_ip4_over_ethernet_rpc_args_t *args) |
|
static void | arp_disable (ethernet_arp_main_t *am, u32 sw_if_index) |
|
void | arp_update_adjacency (vnet_main_t *vnm, u32 sw_if_index, u32 ai) |
|
static void | arp_adj_fib_add (ethernet_arp_ip4_entry_t *e, u32 fib_index) |
|
static void | arp_adj_fib_remove (ethernet_arp_ip4_entry_t *e, u32 fib_index) |
|
static ethernet_arp_ip4_entry_t * | force_reuse_arp_entry (void) |
|
static int | vnet_arp_set_ip4_over_ethernet_internal (vnet_main_t *vnm, vnet_arp_set_ip4_over_ethernet_rpc_args_t *args) |
|
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) |
|
static int | arp_unnumbered (vlib_buffer_t *p0, u32 input_sw_if_index, u32 conn_sw_if_index) |
|
static u32 | arp_learn (vnet_main_t *vnm, ethernet_arp_main_t *am, u32 sw_if_index, const ethernet_arp_ip4_over_ethernet_address_t *addr) |
|
static uword | arp_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static uword | arp_disabled (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static_always_inline u32 | arp_mk_reply (vnet_main_t *vnm, vlib_buffer_t *p0, u32 sw_if_index0, const ip4_address_t *if_addr0, ethernet_arp_header_t *arp0, ethernet_header_t *eth_rx) |
|
static enum arp_dst_fib_type | arp_dst_fib_check (const fib_node_index_t fei, fib_entry_flag_t *flags) |
|
static uword | arp_reply (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static uword | arp_proxy (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
| VNET_FEATURE_ARC_INIT (arp_feat, static) |
|
| VNET_FEATURE_INIT (arp_reply_feat_node, static) |
|
| VNET_FEATURE_INIT (arp_proxy_feat_node, static) |
|
| VNET_FEATURE_INIT (arp_disabled_feat_node, static) |
|
| VNET_FEATURE_INIT (arp_drop_feat_node, static) |
|
static int | ip4_arp_entry_sort (void *a1, void *a2) |
|
ethernet_arp_ip4_entry_t * | ip4_neighbors_pool (void) |
|
ethernet_arp_ip4_entry_t * | ip4_neighbor_entries (u32 sw_if_index) |
|
static clib_error_t * | show_ip4_arp (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static void | pg_ethernet_arp_header_init (pg_ethernet_arp_header_t *p) |
|
uword | unformat_pg_arp_header (unformat_input_t *input, va_list *args) |
|
clib_error_t * | ip4_set_arp_limit (u32 arp_limit) |
|
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...
|
|
static int | vnet_arp_wc_publish (u32 sw_if_index, const ethernet_arp_ip4_over_ethernet_address_t *a) |
| publish wildcard arp event More...
|
|
static void | vnet_arp_wc_publish_internal (vnet_main_t *vnm, vnet_arp_set_ip4_over_ethernet_rpc_args_t *args) |
|
void | wc_arp_set_publisher_node (uword node_index, uword event_type) |
|
static void | arp_entry_free (ethernet_arp_interface_t *eai, ethernet_arp_ip4_entry_t *e) |
|
static void | arp_enable_disable_interface (ip4_main_t *im, uword opaque, u32 sw_if_index, u32 is_enable) |
|
static void | arp_add_del_interface_address (ip4_main_t *im, uword opaque, u32 sw_if_index, ip4_address_t *address, u32 address_length, u32 if_address_index, u32 is_del) |
|
static void | arp_table_bind (ip4_main_t *im, uword opaque, u32 sw_if_index, u32 new_fib_index, u32 old_fib_index) |
|
static clib_error_t * | ethernet_arp_init (vlib_main_t *vm) |
|
static int | vnet_arp_unset_ip4_over_ethernet_internal (vnet_main_t *vnm, vnet_arp_set_ip4_over_ethernet_rpc_args_t *args) |
|
static int | vnet_arp_populate_ip4_over_ethernet_internal (vnet_main_t *vnm, vnet_arp_set_ip4_over_ethernet_rpc_args_t *args) |
|
static clib_error_t * | ethernet_arp_sw_interface_up_down (vnet_main_t *vnm, u32 sw_if_index, u32 flags) |
| Invoked when the interface's admin state changes. More...
|
|
| VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION (ethernet_arp_sw_interface_up_down) |
|
static void | increment_ip4_and_mac_address (ethernet_arp_ip4_over_ethernet_address_t *a) |
|
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) |
|
void | proxy_arp_walk (proxy_arp_walk_t cb, void *data) |
|
int | vnet_proxy_arp_enable_disable (vnet_main_t *vnm, u32 sw_if_index, u8 enable) |
|
int | vnet_proxy_arp_add_del (ip4_address_t *lo_addr, ip4_address_t *hi_addr, u32 fib_index, int is_del) |
|
void | proxy_arp_intfc_walk (proxy_arp_intf_walk_t cb, void *data) |
|
int | vnet_proxy_arp_fib_reset (u32 fib_id) |
|
static clib_error_t * | ip_arp_add_del_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | set_int_proxy_arp_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static uword | arp_term_l2bd (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
clib_error_t * | arp_term_init (vlib_main_t *vm) |
|
void | change_arp_mac (u32 sw_if_index, ethernet_arp_ip4_entry_t *e) |
|
void | ethernet_arp_change_mac (u32 sw_if_index) |
|
void | send_ip4_garp (vlib_main_t *vm, u32 sw_if_index) |
|
void | send_ip4_garp_w_addr (vlib_main_t *vm, const ip4_address_t *ip4_addr, u32 sw_if_index) |
|
static clib_error_t * | vnet_arp_delete_sw_interface (vnet_main_t *vnm, u32 sw_if_index, u32 is_add) |
|
| VNET_SW_INTERFACE_ADD_DEL_FUNCTION (vnet_arp_delete_sw_interface) |
|
IPv4 ARP.
This file contains code to manage the IPv4 ARP tables (IP Address to MAC Address lookup).
Definition in file arp.c.