FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
arp_proxy.c File Reference
+ Include dependency graph for arp_proxy.c:

Go to the source code of this file.

Data Structures

struct  ethernet_proxy_arp_t
 
struct  arp_proxy_main_t_
 
struct  ethernet_arp_input_trace_t
 

Typedefs

typedef struct arp_proxy_main_t_ arp_proxy_main_t
 

Functions

void proxy_arp_walk (proxy_arp_walk_t cb, void *data)
 
int arp_proxy_disable (u32 sw_if_index)
 
int arp_proxy_enable (u32 sw_if_index)
 
static int vnet_proxy_arp_add_del (const ip4_address_t *lo_addr, const ip4_address_t *hi_addr, u32 fib_index, int is_del)
 
int arp_proxy_add (u32 fib_index, const ip4_address_t *lo, const ip4_address_t *hi)
 
int arp_proxy_del (u32 fib_index, const ip4_address_t *lo, const ip4_address_t *hi)
 
void proxy_arp_intfc_walk (proxy_arp_intf_walk_t cb, void *data)
 
static clib_error_tset_int_proxy_arp_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tset_arp_proxy (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static u8format_ethernet_arp_input_trace (u8 *s, va_list *va)
 
static uword arp_proxy (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static clib_error_tshow_ip4_arp (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 

Variables

arp_proxy_main_t arp_proxy_main
 
static vlib_cli_command_t set_int_proxy_enable_command
 (constructor) VLIB_CLI_COMMAND (set_int_proxy_enable_command) More...
 
static vlib_cli_command_t set_arp_proxy_command
 (constructor) VLIB_CLI_COMMAND (set_arp_proxy_command) More...
 
static char * ethernet_arp_error_strings []
 
static vlib_node_registration_t arp_proxy_node
 (constructor) VLIB_REGISTER_NODE (arp_proxy_node) More...
 
static vlib_cli_command_t show_ip4_arp_command
 (constructor) VLIB_CLI_COMMAND (show_ip4_arp_command) More...
 

Typedef Documentation

◆ arp_proxy_main_t

Function Documentation

◆ arp_proxy()

static uword arp_proxy ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 282 of file arp_proxy.c.

+ Here is the call graph for this function:

◆ arp_proxy_add()

int arp_proxy_add ( u32  fib_index,
const ip4_address_t lo,
const ip4_address_t hi 
)

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,
const ip4_address_t hi 
)

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:

◆ format_ethernet_arp_input_trace()

static u8* format_ethernet_arp_input_trace ( u8 s,
va_list *  va 
)
static

Definition at line 268 of file arp_proxy.c.

+ Here is the call 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:

◆ set_arp_proxy()

static clib_error_t* set_arp_proxy ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 190 of file arp_proxy.c.

+ Here is the call graph for this function:

◆ set_int_proxy_arp_command_fn()

static clib_error_t* set_int_proxy_arp_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 154 of file arp_proxy.c.

+ Here is the call graph for this function:

◆ show_ip4_arp()

static clib_error_t* show_ip4_arp ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 403 of file arp_proxy.c.

+ Here is the call graph for this function:

◆ vnet_proxy_arp_add_del()

static int vnet_proxy_arp_add_del ( const ip4_address_t lo_addr,
const ip4_address_t hi_addr,
u32  fib_index,
int  is_del 
)
static

Definition at line 89 of file arp_proxy.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ arp_proxy_main

arp_proxy_main_t arp_proxy_main

Definition at line 39 of file arp_proxy.c.

◆ arp_proxy_node

vlib_node_registration_t arp_proxy_node
static
Initial value:
=
{
.function = arp_proxy,.name = "arp-proxy",.vector_size =
sizeof (u32),.n_errors = ETHERNET_ARP_N_ERROR,.error_strings =
ethernet_arp_error_strings,.n_next_nodes = ARP_REPLY_N_NEXT,.next_nodes =
{
[ARP_REPLY_NEXT_DROP] = "error-drop",
[ARP_REPLY_NEXT_REPLY_TX] = "interface-output",}
,.format_buffer = format_ethernet_arp_header,.format_trace =

(constructor) VLIB_REGISTER_NODE (arp_proxy_node)

Definition at line 391 of file arp_proxy.c.

◆ ethernet_arp_error_strings

char* ethernet_arp_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}

Definition at line 385 of file arp_proxy.c.

◆ set_arp_proxy_command

vlib_cli_command_t set_arp_proxy_command
static
Initial value:
= {
.path = "set arp proxy",
.short_help = "set arp proxy [del] table-ID <table-ID> start <start-address> end <end-addres>",
.function = set_arp_proxy,
}

(constructor) VLIB_CLI_COMMAND (set_arp_proxy_command)

Definition at line 255 of file arp_proxy.c.

◆ set_int_proxy_enable_command

vlib_cli_command_t set_int_proxy_enable_command
static
Initial value:
= {
.path = "set interface proxy-arp",
.short_help =
"set interface proxy-arp <intfc> [enable|disable]",
}

(constructor) VLIB_CLI_COMMAND (set_int_proxy_enable_command)

Definition at line 246 of file arp_proxy.c.

◆ show_ip4_arp_command

vlib_cli_command_t show_ip4_arp_command
static
Initial value:
= {
.path = "show arp proxy",
.function = show_ip4_arp,
.short_help = "show ip arp",
}

(constructor) VLIB_CLI_COMMAND (show_ip4_arp_command)

Definition at line 439 of file arp_proxy.c.

arp_proxy
static uword arp_proxy(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: arp_proxy.c:282
set_arp_proxy
static clib_error_t * set_arp_proxy(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: arp_proxy.c:190
ethernet_arp_error_strings
static char * ethernet_arp_error_strings[]
Definition: arp_proxy.c:385
ARP_REPLY_NEXT_DROP
@ ARP_REPLY_NEXT_DROP
Definition: arp_packet.h:26
foreach_ethernet_arp_error
#define foreach_ethernet_arp_error
Definition: arp.h:23
ARP_REPLY_N_NEXT
@ ARP_REPLY_N_NEXT
Definition: arp_packet.h:28
ARP_REPLY_NEXT_REPLY_TX
@ ARP_REPLY_NEXT_REPLY_TX
Definition: arp_packet.h:27
ETHERNET_ARP_N_ERROR
@ ETHERNET_ARP_N_ERROR
Definition: arp.h:46
u32
unsigned int u32
Definition: types.h:88
set_int_proxy_arp_command_fn
static clib_error_t * set_int_proxy_arp_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: arp_proxy.c:154
show_ip4_arp
static clib_error_t * show_ip4_arp(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: arp_proxy.c:403
format_ethernet_arp_input_trace
static u8 * format_ethernet_arp_input_trace(u8 *s, va_list *va)
Definition: arp_proxy.c:268
format_ethernet_arp_header
u8 * format_ethernet_arp_header(u8 *s, va_list *va)
Definition: arp_packet.c:59