FD.io VPP
v16.12-rc0-308-g931be3a
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | vnet_hw_interface_t |
struct | vnet_sub_interface_t |
struct | vnet_sw_interface_t |
struct | vnet_hw_interface_nodes_t |
struct | vnet_interface_main_t |
Typedefs | |
typedef clib_error_t *( | vnet_interface_function_t) (struct vnet_main_t *vnm, u32 if_index, u32 flags) |
typedef clib_error_t *( | vnet_subif_add_del_function_t) (struct vnet_main_t *vnm, u32 if_index, struct vnet_sw_interface_t *template, int is_add) |
typedef clib_error_t *( | vnet_interface_set_mac_address_function_t) (struct vnet_hw_interface_t *hi, char *address) |
typedef struct _vnet_device_class | vnet_device_class_t |
typedef enum vnet_link_t_ | vnet_link_t |
Link Type: A description of the protocol of packets on the link. More... | |
typedef enum vnet_hw_interface_class_flags_t_ | vnet_hw_interface_class_flags_t |
Attributes assignable to a HW interface Class. More... | |
typedef struct _vnet_hw_interface_class | vnet_hw_interface_class_t |
typedef struct vnet_hw_interface_t | vnet_hw_interface_t |
Enumerations | |
enum | vnet_link_t_ { VNET_LINK_IP4 = 1, VNET_LINK_IP6, VNET_LINK_MPLS, VNET_LINK_ETHERNET, VNET_LINK_ARP } |
Link Type: A description of the protocol of packets on the link. More... | |
enum | vnet_hw_interface_class_flags_t_ { VNET_HW_INTERFACE_CLASS_FLAG_P2P = (1 << 0) } |
Attributes assignable to a HW interface Class. More... | |
enum | vnet_sw_interface_type_t { VNET_SW_INTERFACE_TYPE_HARDWARE, VNET_SW_INTERFACE_TYPE_SUB } |
enum | vnet_interface_counter_type_t { VNET_INTERFACE_COUNTER_DROP = 0, VNET_INTERFACE_COUNTER_PUNT = 1, VNET_INTERFACE_COUNTER_IP4 = 2, VNET_INTERFACE_COUNTER_IP6 = 3, VNET_INTERFACE_COUNTER_RX_NO_BUF = 4, VNET_INTERFACE_COUNTER_RX_MISS = 5, VNET_INTERFACE_COUNTER_RX_ERROR = 6, VNET_INTERFACE_COUNTER_TX_ERROR = 7, VNET_INTERFACE_COUNTER_MPLS = 8, VNET_N_SIMPLE_INTERFACE_COUNTER = 9, VNET_INTERFACE_COUNTER_RX = 0, VNET_INTERFACE_COUNTER_TX = 1, VNET_N_COMBINED_INTERFACE_COUNTER = 2 } |
enum | intf_output_feat_t { INTF_OUTPUT_N_FEAT } |
Functions | |
vnet_l3_packet_type_t | vnet_link_to_l3_proto (vnet_link_t link) |
Convert a link to to an Ethertype. More... | |
u8 * | default_build_rewrite (struct vnet_main_t *vnm, u32 sw_if_index, vnet_link_t link_type, const void *dst_hw_address) |
Return a complete, zero-length (aka dummy) rewrite. More... | |
void | default_update_adjacency (struct vnet_main_t *vnm, u32 sw_if_index, u32 adj_index) |
Default adjacency update function. More... | |
static void | vnet_interface_counter_lock (vnet_interface_main_t *im) |
static void | vnet_interface_counter_unlock (vnet_interface_main_t *im) |
void | vnet_pcap_drop_trace_filter_add_del (u32 error_index, int is_add) |
int | vnet_interface_name_renumber (u32 sw_if_index, u32 new_show_dev_instance) |
int | vnet_interface_add_del_feature (struct vnet_main_t *vnm, vlib_main_t *vm, u32 sw_if_index, intf_output_feat_t feature, int is_add) |
Variables | |
vnet_device_class_t | vnet_local_interface_device_class |
#define foreach_intf_output_feat _(IPSEC, "ipsec-output") |
Definition at line 615 of file interface.h.
#define INTF_OUTPUT_FEAT_DONE INTF_OUTPUT_N_FEAT |
Definition at line 628 of file interface.h.
#define VLIB_DEVICE_TX_FUNCTION_CLONE_TEMPLATE | ( | arch, | |
fn, | |||
tgt | |||
) |
Definition at line 176 of file interface.h.
#define VLIB_DEVICE_TX_FUNCTION_MULTIARCH | ( | dev, | |
fn | |||
) |
Definition at line 191 of file interface.h.
#define VLIB_DEVICE_TX_FUNCTION_MULTIARCH_CLONE | ( | fn | ) | foreach_march_variant(VLIB_DEVICE_TX_FUNCTION_CLONE_TEMPLATE, fn) |
Definition at line 186 of file interface.h.
#define VLIB_MULTIARCH_CLONE_AND_SELECT_FN | ( | fn, | |
... | |||
) |
Definition at line 190 of file interface.h.
#define VNET_DEVICE_CLASS | ( | x, | |
... | |||
) |
Definition at line 164 of file interface.h.
#define VNET_HW_INTERFACE_ADD_DEL_FUNCTION | ( | f | ) | _VNET_INTERFACE_FUNCTION_DECL(f,hw_interface_add_del) |
Definition at line 84 of file interface.h.
#define VNET_HW_INTERFACE_BOND_INFO_NONE ((uword *) 0) |
Definition at line 433 of file interface.h.
#define VNET_HW_INTERFACE_BOND_INFO_SLAVE ((uword *) ~0) |
Definition at line 434 of file interface.h.
#define VNET_HW_INTERFACE_CLASS | ( | x, | |
... | |||
) |
Definition at line 327 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_DUPLEX_MASK |
Definition at line 353 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_DUPLEX_SHIFT 1 |
Definition at line 350 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_FULL_DUPLEX (1 << 2) |
Definition at line 352 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_HALF_DUPLEX (1 << 1) |
Definition at line 351 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_L2OUTPUT_MAPPED (1 << 9) |
Definition at line 375 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_L2OUTPUT_SHIFT 9 |
Definition at line 374 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_LINK_UP (1 << 0) |
Definition at line 348 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_SPEED_100G (1 << 8) |
Definition at line 364 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_SPEED_100M (1 << 4) |
Definition at line 360 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_SPEED_10G (1 << 6) |
Definition at line 362 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_SPEED_10M (1 << 3) |
Definition at line 359 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_SPEED_1G (1 << 5) |
Definition at line 361 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_SPEED_40G (1 << 7) |
Definition at line 363 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_SPEED_MASK |
Definition at line 365 of file interface.h.
#define VNET_HW_INTERFACE_FLAG_SPEED_SHIFT 3 |
Definition at line 358 of file interface.h.
#define VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION | ( | f | ) | _VNET_INTERFACE_FUNCTION_DECL(f,hw_interface_link_up_down) |
Definition at line 86 of file interface.h.
#define VNET_LINK_NUM (VNET_LINK_ARP+1) |
Number of link types.
Not part of the enum so it does not have to be included in switch statements
Definition at line 231 of file interface.h.
#define VNET_LINKS |
Definition at line 219 of file interface.h.
#define VNET_SW_INTERFACE_ADD_DEL_FUNCTION | ( | f | ) | _VNET_INTERFACE_FUNCTION_DECL(f,sw_interface_add_del) |
Definition at line 88 of file interface.h.
#define VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION | ( | f | ) | _VNET_INTERFACE_FUNCTION_DECL(f,sw_interface_admin_up_down) |
Definition at line 90 of file interface.h.
#define VNET_SW_INTERFACE_FLAG_ADMIN_UP (1 << 0) |
Definition at line 490 of file interface.h.
#define VNET_SW_INTERFACE_FLAG_BOND_SLAVE (1 << 4) |
Definition at line 499 of file interface.h.
#define VNET_SW_INTERFACE_FLAG_PROXY_ARP (1 << 2) |
Definition at line 495 of file interface.h.
#define VNET_SW_INTERFACE_FLAG_PUNT (1 << 1) |
Definition at line 493 of file interface.h.
#define VNET_SW_INTERFACE_FLAG_UNNUMBERED (1 << 3) |
Definition at line 497 of file interface.h.
typedef struct _vnet_device_class vnet_device_class_t |
Attributes assignable to a HW interface Class.
typedef struct _vnet_hw_interface_class vnet_hw_interface_class_t |
typedef struct vnet_hw_interface_t vnet_hw_interface_t |
typedef clib_error_t*( vnet_interface_function_t) (struct vnet_main_t *vnm, u32 if_index, u32 flags) |
Definition at line 53 of file interface.h.
typedef clib_error_t*( vnet_interface_set_mac_address_function_t) (struct vnet_hw_interface_t *hi, char *address) |
Definition at line 62 of file interface.h.
typedef enum vnet_link_t_ vnet_link_t |
Link Type: A description of the protocol of packets on the link.
On an ethernet link this maps directly into the ethertype. On a GRE tunnel it maps to the GRE-proto, etc for other lnk types.
typedef clib_error_t*( vnet_subif_add_del_function_t) (struct vnet_main_t *vnm, u32 if_index, struct vnet_sw_interface_t *template, int is_add) |
Definition at line 57 of file interface.h.
enum intf_output_feat_t |
Enumerator | |
---|---|
INTF_OUTPUT_N_FEAT |
Definition at line 619 of file interface.h.
Attributes assignable to a HW interface Class.
Enumerator | |
---|---|
VNET_HW_INTERFACE_CLASS_FLAG_P2P |
a point 2 point interface |
Definition at line 241 of file interface.h.
Definition at line 526 of file interface.h.
enum vnet_link_t_ |
Link Type: A description of the protocol of packets on the link.
On an ethernet link this maps directly into the ethertype. On a GRE tunnel it maps to the GRE-proto, etc for other lnk types.
Enumerator | |
---|---|
VNET_LINK_IP4 | |
VNET_LINK_IP6 | |
VNET_LINK_MPLS | |
VNET_LINK_ETHERNET | |
VNET_LINK_ARP |
Definition at line 206 of file interface.h.
Enumerator | |
---|---|
VNET_SW_INTERFACE_TYPE_HARDWARE | |
VNET_SW_INTERFACE_TYPE_SUB |
Definition at line 440 of file interface.h.
u8* default_build_rewrite | ( | struct vnet_main_t * | vnm, |
u32 | sw_if_index, | ||
vnet_link_t | link_type, | ||
const void * | dst_hw_address | ||
) |
Return a complete, zero-length (aka dummy) rewrite.
Definition at line 1350 of file interface.c.
void default_update_adjacency | ( | struct vnet_main_t * | vnm, |
u32 | sw_if_index, | ||
u32 | adj_index | ||
) |
Default adjacency update function.
Definition at line 1358 of file interface.c.
int vnet_interface_add_del_feature | ( | struct 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.
|
inlinestatic |
|
inlinestatic |
Definition at line 600 of file interface.h.
Definition at line 1177 of file interface.c.
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.
void vnet_pcap_drop_trace_filter_add_del | ( | u32 | error_index, |
int | is_add | ||
) |
Definition at line 1132 of file interface_output.c.
vnet_device_class_t vnet_local_interface_device_class |