FD.io VPP  v17.04-9-g99c0734
Vector Packet Processing
interface.c File Reference

Loopback Interfaces. More...

+ Include dependency graph for interface.c:

Go to the source code of this file.

Macros

#define LOOPBACK_MAX_INSTANCE   (16 * 1024)
 

Functions

const u8ethernet_ip4_mcast_dst_addr (void)
 
const u8ethernet_ip6_mcast_dst_addr (void)
 
u8ethernet_build_rewrite (vnet_main_t *vnm, u32 sw_if_index, vnet_link_t link_type, const void *dst_address)
 build a rewrite string to use for sending packets of type 'link_type' to 'dst_address' More...
 
void ethernet_update_adjacency (vnet_main_t *vnm, u32 sw_if_index, u32 ai)
 
static clib_error_tethernet_mac_change (vnet_hw_interface_t *hi, char *mac_address)
 
 VNET_HW_INTERFACE_CLASS (ethernet_hw_interface_class)
 
uword unformat_ethernet_interface (unformat_input_t *input, va_list *args)
 
clib_error_tethernet_register_interface (vnet_main_t *vnm, u32 dev_class_index, u32 dev_instance, u8 *address, u32 *hw_if_index_return, ethernet_flag_change_function_t flag_change)
 
void ethernet_delete_interface (vnet_main_t *vnm, u32 hw_if_index)
 
u32 ethernet_set_flags (vnet_main_t *vnm, u32 hw_if_index, u32 flags)
 
static uword simulated_ethernet_interface_tx (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static u8format_simulated_ethernet_name (u8 *s, va_list *args)
 
static clib_error_tsimulated_ethernet_admin_up_down (vnet_main_t *vnm, u32 hw_if_index, u32 flags)
 
 VNET_DEVICE_CLASS (ethernet_simulated_device_class)
 
static u32 loopback_instance_alloc (u8 is_specified, u32 want)
 
static int loopback_instance_free (u32 instance)
 
int vnet_create_loopback_interface (u32 *sw_if_indexp, u8 *mac_address, u8 is_specified, u32 user_instance)
 
static clib_error_tcreate_simulated_ethernet_interfaces (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
ethernet_interface_tethernet_get_interface (ethernet_main_t *em, u32 hw_if_index)
 
int vnet_delete_loopback_interface (u32 sw_if_index)
 
int vnet_delete_sub_interface (u32 sw_if_index)
 
static clib_error_tdelete_simulated_ethernet_interfaces (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tdelete_sub_interface (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 

Variables

static vlib_cli_command_t create_simulated_ethernet_interface_command
 (constructor) VLIB_CLI_COMMAND (create_simulated_ethernet_interface_command) More...
 
static vlib_cli_command_t create_loopback_interface_command
 (constructor) VLIB_CLI_COMMAND (create_loopback_interface_command) More...
 
static vlib_cli_command_t delete_simulated_ethernet_interface_command
 (constructor) VLIB_CLI_COMMAND (delete_simulated_ethernet_interface_command) More...
 
static vlib_cli_command_t delete_loopback_interface_command
 (constructor) VLIB_CLI_COMMAND (delete_loopback_interface_command) More...
 
static vlib_cli_command_t delete_sub_interface_command
 (constructor) VLIB_CLI_COMMAND (delete_sub_interface_command) More...
 

Detailed Description

Loopback Interfaces.

This file contains code to manage loopback interfaces.

Definition in file interface.c.

Macro Definition Documentation

#define LOOPBACK_MAX_INSTANCE   (16 * 1024)

Definition at line 460 of file interface.c.

Function Documentation

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

Definition at line 600 of file interface.c.

+ Here is the call graph for this function:

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

Definition at line 738 of file interface.c.

+ Here is the call graph for this function:

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

Definition at line 767 of file interface.c.

+ Here is the call graph for this function:

u8* ethernet_build_rewrite ( vnet_main_t vnm,
u32  sw_if_index,
vnet_link_t  link_type,
const void *  dst_address 
)

build a rewrite string to use for sending packets of type 'link_type' to 'dst_address'

Definition at line 79 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ethernet_delete_interface ( vnet_main_t vnm,
u32  hw_if_index 
)

Definition at line 295 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ethernet_interface_t* ethernet_get_interface ( ethernet_main_t em,
u32  hw_if_index 
)

Definition at line 672 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const u8* ethernet_ip4_mcast_dst_addr ( void  )

Definition at line 55 of file interface.c.

+ Here is the caller graph for this function:

const u8* ethernet_ip6_mcast_dst_addr ( void  )

Definition at line 65 of file interface.c.

+ Here is the caller graph for this function:

static clib_error_t* ethernet_mac_change ( vnet_hw_interface_t hi,
char *  mac_address 
)
static

Definition at line 192 of file interface.c.

+ Here is the call graph for this function:

clib_error_t* ethernet_register_interface ( vnet_main_t vnm,
u32  dev_class_index,
u32  dev_instance,
u8 address,
u32 hw_if_index_return,
ethernet_flag_change_function_t  flag_change 
)

Definition at line 246 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 ethernet_set_flags ( vnet_main_t vnm,
u32  hw_if_index,
u32  flags 
)

Definition at line 339 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ethernet_update_adjacency ( vnet_main_t vnm,
u32  sw_if_index,
u32  ai 
)

Definition at line 171 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8* format_simulated_ethernet_name ( u8 s,
va_list *  args 
)
static

Definition at line 431 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u32 loopback_instance_alloc ( u8  is_specified,
u32  want 
)
static

Definition at line 463 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int loopback_instance_free ( u32  instance)
static

Definition at line 510 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* simulated_ethernet_admin_up_down ( vnet_main_t vnm,
u32  hw_if_index,
u32  flags 
)
static

Definition at line 438 of file interface.c.

+ Here is the call graph for this function:

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

Definition at line 357 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uword unformat_ethernet_interface ( unformat_input_t input,
va_list *  args 
)

Definition at line 225 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_create_loopback_interface ( u32 sw_if_indexp,
u8 mac_address,
u8  is_specified,
u32  user_instance 
)

Definition at line 530 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_delete_loopback_interface ( u32  sw_if_index)

Definition at line 682 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_delete_sub_interface ( u32  sw_if_index)

Definition at line 709 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

VNET_DEVICE_CLASS ( ethernet_simulated_device_class  )

+ Here is the caller graph for this function:

VNET_HW_INTERFACE_CLASS ( ethernet_hw_interface_class  )

+ Here is the caller graph for this function:

Variable Documentation

vlib_cli_command_t create_loopback_interface_command
static
Initial value:
= {
.path = "create loopback interface",
.short_help = "create loopback interface [mac <mac-addr>] [instance <instance>]",
}
static clib_error_t * create_simulated_ethernet_interfaces(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: interface.c:600

(constructor) VLIB_CLI_COMMAND (create_loopback_interface_command)

Definition at line 664 of file interface.c.

vlib_cli_command_t create_simulated_ethernet_interface_command
static
Initial value:
= {
.path = "loopback create-interface",
.short_help = "loopback create-interface [mac <mac-addr>] [instance <instance>]",
}
static clib_error_t * create_simulated_ethernet_interfaces(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: interface.c:600

(constructor) VLIB_CLI_COMMAND (create_simulated_ethernet_interface_command)

Definition at line 645 of file interface.c.

vlib_cli_command_t delete_loopback_interface_command
static
Initial value:
= {
.path = "delete loopback interface",
.short_help = "delete loopback interface intfc <interface>",
}
static clib_error_t * delete_simulated_ethernet_interfaces(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: interface.c:738

(constructor) VLIB_CLI_COMMAND (delete_loopback_interface_command)

Definition at line 823 of file interface.c.

vlib_cli_command_t delete_simulated_ethernet_interface_command
static
Initial value:
= {
.path = "loopback delete-interface",
.short_help = "loopback delete-interface intfc <interface>",
}
static clib_error_t * delete_simulated_ethernet_interfaces(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: interface.c:738

(constructor) VLIB_CLI_COMMAND (delete_simulated_ethernet_interface_command)

Definition at line 805 of file interface.c.

vlib_cli_command_t delete_sub_interface_command
static
Initial value:
= {
.path = "delete sub-interface",
.short_help = "delete sub-interface <interface>",
.function = delete_sub_interface,
}
static clib_error_t * delete_sub_interface(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: interface.c:767

(constructor) VLIB_CLI_COMMAND (delete_sub_interface_command)

Definition at line 838 of file interface.c.