FD.io VPP  v17.01-9-ge7dcee4
Vector Packet Processing
interface_funcs.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vnet_interface_output_runtime_t
 

Macros

#define VNET_SIMULATED_ETHERNET_TX_NEXT_ETHERNET_INPUT   VNET_INTERFACE_TX_N_NEXT
 

Typedefs

typedef void(* vnet_hw_sw_interface_walk_t) (vnet_main_t *vnm, u32 sw_if_index, void *ctx)
 Call back walk type for walking SW indices on a HW interface. More...
 

Enumerations

enum  vnet_interface_output_next_t { VNET_INTERFACE_OUTPUT_NEXT_DROP, VNET_INTERFACE_OUTPUT_NEXT_TX }
 
enum  vnet_interface_tx_next_t { VNET_INTERFACE_TX_NEXT_DROP, VNET_INTERFACE_TX_N_NEXT }
 
enum  vnet_interface_output_error_t { VNET_INTERFACE_OUTPUT_ERROR_INTERFACE_DOWN, VNET_INTERFACE_OUTPUT_ERROR_INTERFACE_DELETED }
 

Functions

static vnet_hw_interface_tvnet_get_hw_interface (vnet_main_t *vnm, u32 hw_if_index)
 
static vnet_sw_interface_tvnet_get_sw_interface (vnet_main_t *vnm, u32 sw_if_index)
 
static vnet_sw_interface_tvnet_get_hw_sw_interface (vnet_main_t *vnm, u32 hw_if_index)
 
static vnet_sw_interface_tvnet_get_sup_sw_interface (vnet_main_t *vnm, u32 sw_if_index)
 
static vnet_hw_interface_tvnet_get_sup_hw_interface (vnet_main_t *vnm, u32 sw_if_index)
 
static vnet_hw_interface_class_tvnet_get_hw_interface_class (vnet_main_t *vnm, u32 hw_class_index)
 
static vnet_device_class_tvnet_get_device_class (vnet_main_t *vnm, u32 dev_class_index)
 
static u8vnet_get_sw_interface_tag (vnet_main_t *vnm, u32 sw_if_index)
 
static void vnet_set_sw_interface_tag (vnet_main_t *vnm, u8 *tag, u32 sw_if_index)
 
static void vnet_clear_sw_interface_tag (vnet_main_t *vnm, u32 sw_if_index)
 
void vnet_hw_interface_walk_sw (vnet_main_t *vnm, u32 hw_if_index, vnet_hw_sw_interface_walk_t fn, void *ctx)
 Walk the SW interfaces on a HW interface - this is the super interface and any sub-interfaces. More...
 
u32 vnet_register_interface (vnet_main_t *vnm, u32 dev_class_index, u32 dev_instance, u32 hw_class_index, u32 hw_instance)
 
clib_error_tvnet_create_sw_interface (vnet_main_t *vnm, vnet_sw_interface_t *template, u32 *sw_if_index)
 
void vnet_delete_hw_interface (vnet_main_t *vnm, u32 hw_if_index)
 
void vnet_delete_sw_interface (vnet_main_t *vnm, u32 sw_if_index)
 
int vnet_sw_interface_is_p2p (vnet_main_t *vnm, u32 sw_if_index)
 
static uword vnet_sw_interface_get_flags (vnet_main_t *vnm, u32 sw_if_index)
 
static uword vnet_sw_interface_is_admin_up (vnet_main_t *vnm, u32 sw_if_index)
 
static uword vnet_hw_interface_get_flags (vnet_main_t *vnm, u32 hw_if_index)
 
static uword vnet_hw_interface_get_mtu (vnet_main_t *vnm, u32 hw_if_index, vlib_rx_or_tx_t dir)
 
static uword vnet_sw_interface_get_mtu (vnet_main_t *vnm, u32 sw_if_index, vlib_rx_or_tx_t dir)
 
static uword vnet_hw_interface_is_link_up (vnet_main_t *vnm, u32 hw_if_index)
 
static vlib_frame_tvnet_get_frame_to_sw_interface (vnet_main_t *vnm, u32 sw_if_index)
 
static void vnet_put_frame_to_sw_interface (vnet_main_t *vnm, u32 sw_if_index, vlib_frame_t *f)
 
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)
 
clib_error_tvnet_hw_interface_set_class (vnet_main_t *vnm, u32 hw_if_index, u32 new_hw_class_index)
 
int vnet_hw_interface_rx_redirect_to_node (vnet_main_t *vnm, u32 hw_if_index, u32 node_index)
 
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_rename_interface (vnet_main_t *vnm, u32 hw_if_index, char *new_name)
 
clib_error_tvnet_hw_interface_change_mac_address (vnet_main_t *vnm, u32 hw_if_index, u64 mac_address)
 
void * vnet_interface_output_node_multiarch_select (void)
 
void * vnet_interface_output_node_flatten_multiarch_select (void)
 
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)
 
u8format_vnet_interface_output_trace (u8 *s, va_list *va)
 

Variables

format_function_t format_vnet_hw_interface
 
format_function_t format_vnet_sw_interface
 
format_function_t format_vnet_sw_interface_name
 
format_function_t format_vnet_sw_interface_name_override
 
format_function_t format_vnet_sw_if_index_name
 
format_function_t format_vnet_sw_interface_flags
 
unformat_function_t unformat_vnet_sw_interface
 
unformat_function_t unformat_vnet_hw_interface
 
unformat_function_t unformat_vnet_hw_interface_flags
 
unformat_function_t unformat_vnet_sw_interface_flags
 
serialize_function_t serialize_vnet_interface_state
 
serialize_function_t unserialize_vnet_interface_state
 

Macro Definition Documentation

#define VNET_SIMULATED_ETHERNET_TX_NEXT_ETHERNET_INPUT   VNET_INTERFACE_TX_N_NEXT

Definition at line 296 of file interface_funcs.h.

Typedef Documentation

typedef void(* vnet_hw_sw_interface_walk_t) (vnet_main_t *vnm, u32 sw_if_index, void *ctx)

Call back walk type for walking SW indices on a HW interface.

Definition at line 136 of file interface_funcs.h.

Enumeration Type Documentation

Enumerator
VNET_INTERFACE_OUTPUT_ERROR_INTERFACE_DOWN 
VNET_INTERFACE_OUTPUT_ERROR_INTERFACE_DELETED 

Definition at line 298 of file interface_funcs.h.

Enumerator
VNET_INTERFACE_OUTPUT_NEXT_DROP 
VNET_INTERFACE_OUTPUT_NEXT_TX 

Definition at line 284 of file interface_funcs.h.

Enumerator
VNET_INTERFACE_TX_NEXT_DROP 
VNET_INTERFACE_TX_N_NEXT 

Definition at line 290 of file interface_funcs.h.

Function Documentation

u8* format_vnet_interface_output_trace ( u8 s,
va_list *  va 
)

Definition at line 51 of file interface_output.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vnet_clear_sw_interface_tag ( vnet_main_t vnm,
u32  sw_if_index 
)
inlinestatic

Definition at line 121 of file interface_funcs.h.

+ 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 600 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 884 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 638 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static vnet_device_class_t* vnet_get_device_class ( vnet_main_t vnm,
u32  dev_class_index 
)
inlinestatic

Definition at line 89 of file interface_funcs.h.

+ Here is the caller graph for this function:

static vlib_frame_t* vnet_get_frame_to_sw_interface ( vnet_main_t vnm,
u32  sw_if_index 
)
inlinestatic

Definition at line 208 of file interface_funcs.h.

+ Here is the call graph for this function:

static vnet_hw_interface_t* vnet_get_hw_interface ( vnet_main_t vnm,
u32  hw_if_index 
)
inlinestatic

Definition at line 44 of file interface_funcs.h.

static vnet_hw_interface_class_t* vnet_get_hw_interface_class ( vnet_main_t vnm,
u32  hw_class_index 
)
inlinestatic

Definition at line 82 of file interface_funcs.h.

+ Here is the caller graph for this function:

static vnet_sw_interface_t* vnet_get_hw_sw_interface ( vnet_main_t vnm,
u32  hw_if_index 
)
inlinestatic

Definition at line 56 of file interface_funcs.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static vnet_hw_interface_t* vnet_get_sup_hw_interface ( vnet_main_t vnm,
u32  sw_if_index 
)
inlinestatic

Definition at line 74 of file interface_funcs.h.

+ Here is the call graph for this function:

static vnet_sw_interface_t* vnet_get_sup_sw_interface ( vnet_main_t vnm,
u32  sw_if_index 
)
inlinestatic

Definition at line 65 of file interface_funcs.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static vnet_sw_interface_t* vnet_get_sw_interface ( vnet_main_t vnm,
u32  sw_if_index 
)
inlinestatic

Definition at line 50 of file interface_funcs.h.

static u8* vnet_get_sw_interface_tag ( vnet_main_t vnm,
u32  sw_if_index 
)
inlinestatic

Definition at line 96 of file interface_funcs.h.

+ 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 1353 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 1123 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword vnet_hw_interface_get_flags ( vnet_main_t vnm,
u32  hw_if_index 
)
inlinestatic

Definition at line 178 of file interface_funcs.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword vnet_hw_interface_get_mtu ( vnet_main_t vnm,
u32  hw_if_index,
vlib_rx_or_tx_t  dir 
)
inlinestatic

Definition at line 185 of file interface_funcs.h.

+ Here is the call 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 991 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword vnet_hw_interface_is_link_up ( vnet_main_t vnm,
u32  hw_if_index 
)
inlinestatic

Definition at line 201 of file interface_funcs.h.

+ 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 1100 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  new_hw_class_index 
)

Definition at line 1068 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 531 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vnet_hw_interface_walk_sw ( vnet_main_t vnm,
u32  hw_if_index,
vnet_hw_sw_interface_walk_t  fn,
void *  ctx 
)

Walk the SW interfaces on a HW interface - this is the super interface and any sub-interfaces.

Definition at line 934 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* vnet_interface_output_node_flatten_multiarch_select ( void  )

+ Here is the caller graph for this function:

void* vnet_interface_output_node_multiarch_select ( void  )

+ Here is the caller graph for this function:

static void vnet_put_frame_to_sw_interface ( vnet_main_t vnm,
u32  sw_if_index,
vlib_frame_t f 
)
inlinestatic

Definition at line 215 of file interface_funcs.h.

+ Here is the call graph for this function:

+ 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 688 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 1275 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vnet_set_sw_interface_tag ( vnet_main_t vnm,
u8 tag,
u32  sw_if_index 
)
inlinestatic

Definition at line 106 of file interface_funcs.h.

+ 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 1109 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword vnet_sw_interface_get_flags ( vnet_main_t vnm,
u32  sw_if_index 
)
inlinestatic

Definition at line 164 of file interface_funcs.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword vnet_sw_interface_get_mtu ( vnet_main_t vnm,
u32  sw_if_index,
vlib_rx_or_tx_t  dir 
)
inlinestatic

Definition at line 193 of file interface_funcs.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword vnet_sw_interface_is_admin_up ( vnet_main_t vnm,
u32  sw_if_index 
)
inlinestatic

Definition at line 171 of file interface_funcs.h.

+ 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 1135 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 539 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

format_function_t format_vnet_hw_interface

Definition at line 251 of file interface_funcs.h.

format_function_t format_vnet_sw_if_index_name

Definition at line 255 of file interface_funcs.h.

format_function_t format_vnet_sw_interface

Definition at line 252 of file interface_funcs.h.

format_function_t format_vnet_sw_interface_flags

Definition at line 256 of file interface_funcs.h.

format_function_t format_vnet_sw_interface_name

Definition at line 253 of file interface_funcs.h.

format_function_t format_vnet_sw_interface_name_override

Definition at line 254 of file interface_funcs.h.

serialize_function_t serialize_vnet_interface_state

Definition at line 307 of file interface_funcs.h.

unformat_function_t unformat_vnet_hw_interface

Definition at line 260 of file interface_funcs.h.

unformat_function_t unformat_vnet_hw_interface_flags

Definition at line 263 of file interface_funcs.h.

unformat_function_t unformat_vnet_sw_interface

Definition at line 259 of file interface_funcs.h.

unformat_function_t unformat_vnet_sw_interface_flags

Definition at line 264 of file interface_funcs.h.

serialize_function_t unserialize_vnet_interface_state

Definition at line 307 of file interface_funcs.h.