FD.io VPP  v16.12-rc0-308-g931be3a
Vector Packet Processing
interface.c File Reference
+ Include dependency graph for interface.c:

Go to the source code of this file.

Data Structures

struct  vnet_sw_hw_interface_state_t
 

Macros

#define VNET_INTERFACE_SET_FLAGS_HELPER_IS_CREATE   (1 << 0)
 
#define VNET_INTERFACE_SET_FLAGS_HELPER_WANT_REDISTRIBUTE   (1 << 1)
 
#define VNET_INTERFACE_SET_FLAGS_HELPER_IS_CREATE   (1 << 0)
 
#define VNET_INTERFACE_SET_FLAGS_HELPER_WANT_REDISTRIBUTE   (1 << 1)
 

Functions

static clib_error_tvnet_hw_interface_set_flags_helper (vnet_main_t *vnm, u32 hw_if_index, u32 flags, u32 helper_flags)
 
static clib_error_tvnet_sw_interface_set_flags_helper (vnet_main_t *vnm, u32 sw_if_index, u32 flags, u32 helper_flags)
 
static clib_error_tvnet_hw_interface_set_class_helper (vnet_main_t *vnm, u32 hw_if_index, u32 hw_class_index, u32 redistribute)
 
static void serialize_vec_vnet_sw_hw_interface_state (serialize_main_t *m, va_list *va)
 
static void unserialize_vec_vnet_sw_hw_interface_state (serialize_main_t *m, va_list *va)
 
static void serialize_vnet_sw_hw_interface_set_flags (serialize_main_t *m, va_list *va)
 
static void unserialize_vnet_sw_interface_set_flags (serialize_main_t *m, va_list *va)
 
static void unserialize_vnet_hw_interface_set_flags (serialize_main_t *m, va_list *va)
 
 MC_SERIALIZE_MSG (vnet_sw_interface_set_flags_msg, static)
 
 MC_SERIALIZE_MSG (vnet_hw_interface_set_flags_msg, static)
 
void serialize_vnet_interface_state (serialize_main_t *m, va_list *va)
 
void unserialize_vnet_interface_state (serialize_main_t *m, va_list *va)
 
static clib_error_tcall_elf_section_interface_callbacks (vnet_main_t *vnm, u32 if_index, u32 flags, _vnet_interface_function_list_elt_t *elt)
 
static clib_error_tcall_hw_interface_add_del_callbacks (vnet_main_t *vnm, u32 hw_if_index, u32 is_create)
 
static clib_error_tcall_sw_interface_add_del_callbacks (vnet_main_t *vnm, u32 sw_if_index, u32 is_create)
 
clib_error_tvnet_hw_interface_set_flags (vnet_main_t *vnm, u32 hw_if_index, u32 flags)
 
clib_error_tvnet_sw_interface_set_flags (vnet_main_t *vnm, u32 sw_if_index, u32 flags)
 
static u32 vnet_create_sw_interface_no_callbacks (vnet_main_t *vnm, vnet_sw_interface_t *template)
 
clib_error_tvnet_create_sw_interface (vnet_main_t *vnm, vnet_sw_interface_t *template, u32 *sw_if_index)
 
void vnet_delete_sw_interface (vnet_main_t *vnm, u32 sw_if_index)
 
static void setup_tx_node (vlib_main_t *vm, u32 node_index, vnet_device_class_t *dev_class)
 
static void setup_output_node (vlib_main_t *vm, u32 node_index, vnet_hw_interface_class_t *hw_class)
 
u32 vnet_register_interface (vnet_main_t *vnm, u32 dev_class_index, u32 dev_instance, u32 hw_class_index, u32 hw_instance)
 
void vnet_delete_hw_interface (vnet_main_t *vnm, u32 hw_if_index)
 
static void serialize_vnet_hw_interface_set_class (serialize_main_t *m, va_list *va)
 
static void unserialize_vnet_hw_interface_set_class (serialize_main_t *m, va_list *va)
 
 MC_SERIALIZE_MSG (vnet_hw_interface_set_class_msg, static)
 
void vnet_hw_interface_init_for_class (vnet_main_t *vnm, u32 hw_if_index, u32 hw_class_index, u32 hw_instance)
 
clib_error_tvnet_hw_interface_set_class (vnet_main_t *vnm, u32 hw_if_index, u32 hw_class_index)
 
static int vnet_hw_interface_rx_redirect_to_node_helper (vnet_main_t *vnm, u32 hw_if_index, u32 node_index, u32 redistribute)
 
int vnet_hw_interface_rx_redirect_to_node (vnet_main_t *vnm, u32 hw_if_index, u32 node_index)
 
word vnet_sw_interface_compare (vnet_main_t *vnm, uword sw_if_index0, uword sw_if_index1)
 
word vnet_hw_interface_compare (vnet_main_t *vnm, uword hw_if_index0, uword hw_if_index1)
 
int vnet_sw_interface_is_p2p (vnet_main_t *vnm, u32 sw_if_index)
 
clib_error_tvnet_interface_init (vlib_main_t *vm)
 
int vnet_interface_name_renumber (u32 sw_if_index, u32 new_show_dev_instance)
 
int vnet_interface_add_del_feature (vnet_main_t *vnm, vlib_main_t *vm, u32 sw_if_index, intf_output_feat_t feature, int is_add)
 
clib_error_tvnet_rename_interface (vnet_main_t *vnm, u32 hw_if_index, char *new_name)
 
static clib_error_tvnet_hw_interface_change_mac_address_helper (vnet_main_t *vnm, u32 hw_if_index, u64 mac_address)
 
clib_error_tvnet_hw_interface_change_mac_address (vnet_main_t *vnm, u32 hw_if_index, u64 mac_address)
 
vnet_l3_packet_type_t vnet_link_to_l3_proto (vnet_link_t link)
 Convert a link to to an Ethertype. More...
 
u8default_build_rewrite (vnet_main_t *vnm, u32 sw_if_index, vnet_link_t link_type, const void *dst_address)
 Return a complete, zero-length (aka dummy) rewrite. More...
 
void default_update_adjacency (vnet_main_t *vnm, u32 sw_if_index, u32 ai)
 Default adjacency update function. More...
 

Macro Definition Documentation

#define VNET_INTERFACE_SET_FLAGS_HELPER_IS_CREATE   (1 << 0)

Definition at line 294 of file interface.c.

#define VNET_INTERFACE_SET_FLAGS_HELPER_IS_CREATE   (1 << 0)

Definition at line 294 of file interface.c.

#define VNET_INTERFACE_SET_FLAGS_HELPER_WANT_REDISTRIBUTE   (1 << 1)

Definition at line 295 of file interface.c.

#define VNET_INTERFACE_SET_FLAGS_HELPER_WANT_REDISTRIBUTE   (1 << 1)

Definition at line 295 of file interface.c.

Function Documentation

static clib_error_t* call_elf_section_interface_callbacks ( vnet_main_t vnm,
u32  if_index,
u32  flags,
_vnet_interface_function_list_elt_t *  elt 
)
static

Definition at line 241 of file interface.c.

+ Here is the caller graph for this function:

static clib_error_t* call_hw_interface_add_del_callbacks ( vnet_main_t vnm,
u32  hw_if_index,
u32  is_create 
)
static

Definition at line 259 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* call_sw_interface_add_del_callbacks ( vnet_main_t vnm,
u32  sw_if_index,
u32  is_create 
)
static

Definition at line 287 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Return a complete, zero-length (aka dummy) rewrite.

Definition at line 1350 of file interface.c.

+ Here is the caller graph for this function:

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

Default adjacency update function.

Definition at line 1358 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

MC_SERIALIZE_MSG ( vnet_sw_interface_set_flags_msg  ,
static   
)

+ Here is the caller graph for this function:

MC_SERIALIZE_MSG ( vnet_hw_interface_set_flags_msg  ,
static   
)
MC_SERIALIZE_MSG ( vnet_hw_interface_set_class_msg  ,
static   
)
static void serialize_vec_vnet_sw_hw_interface_state ( serialize_main_t m,
va_list *  va 
)
static

Definition at line 73 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void serialize_vnet_hw_interface_set_class ( serialize_main_t m,
va_list *  va 
)
static

Definition at line 887 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void serialize_vnet_interface_state ( serialize_main_t m,
va_list *  va 
)

Definition at line 150 of file interface.c.

static void serialize_vnet_sw_hw_interface_set_flags ( serialize_main_t m,
va_list *  va 
)
static

Definition at line 104 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void setup_output_node ( vlib_main_t vm,
u32  node_index,
vnet_hw_interface_class_t hw_class 
)
static

Definition at line 650 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void setup_tx_node ( vlib_main_t vm,
u32  node_index,
vnet_device_class_t dev_class 
)
static

Definition at line 636 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void unserialize_vec_vnet_sw_hw_interface_state ( serialize_main_t m,
va_list *  va 
)
static

Definition at line 88 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void unserialize_vnet_hw_interface_set_class ( serialize_main_t m,
va_list *  va 
)
static

Definition at line 896 of file interface.c.

+ Here is the call graph for this function:

static void unserialize_vnet_hw_interface_set_flags ( serialize_main_t m,
va_list *  va 
)
static

Definition at line 125 of file interface.c.

+ Here is the call graph for this function:

void unserialize_vnet_interface_state ( serialize_main_t m,
va_list *  va 
)

Definition at line 201 of file interface.c.

+ Here is the call graph for this function:

static void unserialize_vnet_sw_interface_set_flags ( serialize_main_t m,
va_list *  va 
)
static

Definition at line 112 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vnet_create_sw_interface ( vnet_main_t vnm,
vnet_sw_interface_t template,
u32 sw_if_index 
)

Definition at line 582 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u32 vnet_create_sw_interface_no_callbacks ( vnet_main_t vnm,
vnet_sw_interface_t template 
)
static

Definition at line 538 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vnet_delete_hw_interface ( vnet_main_t vnm,
u32  hw_if_index 
)

Definition at line 837 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vnet_delete_sw_interface ( vnet_main_t vnm,
u32  sw_if_index 
)

Definition at line 620 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vnet_hw_interface_change_mac_address ( vnet_main_t vnm,
u32  hw_if_index,
u64  mac_address 
)

Definition at line 1321 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* vnet_hw_interface_change_mac_address_helper ( vnet_main_t vnm,
u32  hw_if_index,
u64  mac_address 
)
static

Definition at line 1270 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

word vnet_hw_interface_compare ( vnet_main_t vnm,
uword  hw_if_index0,
uword  hw_if_index1 
)

Definition at line 1055 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vnet_hw_interface_init_for_class ( vnet_main_t vnm,
u32  hw_if_index,
u32  hw_class_index,
u32  hw_instance 
)

Definition at line 923 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_hw_interface_rx_redirect_to_node ( vnet_main_t vnm,
u32  hw_if_index,
u32  node_index 
)

Definition at line 1032 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int vnet_hw_interface_rx_redirect_to_node_helper ( vnet_main_t vnm,
u32  hw_if_index,
u32  node_index,
u32  redistribute 
)
static

Definition at line 1008 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vnet_hw_interface_set_class ( vnet_main_t vnm,
u32  hw_if_index,
u32  hw_class_index 
)

Definition at line 1000 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t * vnet_hw_interface_set_class_helper ( vnet_main_t vnm,
u32  hw_if_index,
u32  hw_class_index,
u32  redistribute 
)
static

Definition at line 936 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vnet_hw_interface_set_flags ( vnet_main_t vnm,
u32  hw_if_index,
u32  flags 
)

Definition at line 522 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t * vnet_hw_interface_set_flags_helper ( vnet_main_t vnm,
u32  hw_if_index,
u32  flags,
u32  helper_flags 
)
static

Definition at line 298 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_interface_add_del_feature ( vnet_main_t vnm,
vlib_main_t vm,
u32  sw_if_index,
intf_output_feat_t  feature,
int  is_add 
)

Definition at line 1206 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vnet_interface_init ( vlib_main_t vm)

Definition at line 1077 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_interface_name_renumber ( u32  sw_if_index,
u32  new_show_dev_instance 
)

Definition at line 1177 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

vnet_l3_packet_type_t vnet_link_to_l3_proto ( vnet_link_t  link)

Convert a link to to an Ethertype.

Definition at line 1329 of file interface.c.

+ Here is the caller graph for this function:

u32 vnet_register_interface ( vnet_main_t vnm,
u32  dev_class_index,
u32  dev_instance,
u32  hw_class_index,
u32  hw_instance 
)

Definition at line 660 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vnet_rename_interface ( vnet_main_t vnm,
u32  hw_if_index,
char *  new_name 
)

Definition at line 1234 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

word vnet_sw_interface_compare ( vnet_main_t vnm,
uword  sw_if_index0,
uword  sw_if_index1 
)

Definition at line 1041 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_sw_interface_is_p2p ( vnet_main_t vnm,
u32  sw_if_index 
)

Definition at line 1067 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vnet_sw_interface_set_flags ( vnet_main_t vnm,
u32  sw_if_index,
u32  flags 
)

Definition at line 530 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t * vnet_sw_interface_set_flags_helper ( vnet_main_t vnm,
u32  sw_if_index,
u32  flags,
u32  helper_flags 
)
static

Definition at line 362 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function: