![]() |
FD.io VPP
v18.11-rc0-18-g2a3fb1a
Vector Packet Processing
|
Include dependency graph for interface.h:Go to the source code of this file.
Data Structures | |
| struct | vnet_hw_interface_t |
| struct | vnet_sub_interface_t |
| struct | vnet_p2p_sub_interface_t |
| struct | vnet_sw_interface_t |
| struct | vnet_hw_interface_nodes_t |
| struct | vnet_interface_main_t |
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... | |
| vnet_mtu_t | vnet_link_to_mtu (vnet_link_t link) |
| static int | collect_detailed_interface_stats (void) |
| void | collect_detailed_interface_stats_flag_set (void) |
| void | collect_detailed_interface_stats_flag_clear (void) |
| 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) |
Variables | |
| vnet_device_class_t | vnet_local_interface_device_class |
| int | collect_detailed_interface_stats_flag |
| #define FOR_EACH_VNET_LINK | ( | _link | ) |
Definition at line 321 of file interface.h.
| #define foreach_combined_interface_counter_name |
Definition at line 751 of file interface.h.
| #define foreach_rx_combined_interface_counter | ( | _x | ) |
Definition at line 731 of file interface.h.
| #define foreach_simple_interface_counter_name |
Definition at line 741 of file interface.h.
| #define foreach_tx_combined_interface_counter | ( | _x | ) |
Definition at line 736 of file interface.h.
| #define VLIB_DEVICE_TX_FUNCTION_CLONE_TEMPLATE | ( | arch, | |
| fn, | |||
| tgt | |||
| ) |
Definition at line 268 of file interface.h.
| #define VLIB_DEVICE_TX_FUNCTION_MULTIARCH | ( | dev, | |
| fn | |||
| ) |
Definition at line 283 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 278 of file interface.h.
| #define VLIB_MULTIARCH_CLONE_AND_SELECT_FN | ( | fn, | |
| ... | |||
| ) |
Definition at line 282 of file interface.h.
| #define VNET_DEVICE_CLASS | ( | x, | |
| ... | |||
| ) |
Definition at line 248 of file interface.h.
| #define VNET_HW_INTERFACE_ADD_DEL_FUNCTION | ( | f | ) | _VNET_INTERFACE_FUNCTION_DECL(f,hw_interface_add_del) |
Definition at line 153 of file interface.h.
| #define VNET_HW_INTERFACE_BOND_INFO_NONE ((uword *) 0) |
Definition at line 553 of file interface.h.
| #define VNET_HW_INTERFACE_BOND_INFO_SLAVE ((uword *) ~0) |
Definition at line 554 of file interface.h.
| #define VNET_HW_INTERFACE_CLASS | ( | x, | |
| ... | |||
| ) |
Definition at line 429 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_DUPLEX_MASK |
Definition at line 463 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_DUPLEX_SHIFT 1 |
Definition at line 460 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_FULL_DUPLEX (1 << 2) |
Definition at line 462 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_HALF_DUPLEX (1 << 1) |
Definition at line 461 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_LINK_UP (1 << 0) |
Definition at line 458 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SPEED_100G (1 << 14) |
Definition at line 480 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SPEED_100M (1 << 4) |
Definition at line 470 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SPEED_10G (1 << 8) |
Definition at line 474 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SPEED_10M (1 << 3) |
Definition at line 469 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SPEED_1G (1 << 5) |
Definition at line 471 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SPEED_20G (1 << 9) |
Definition at line 475 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SPEED_25G (1 << 10) |
Definition at line 476 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SPEED_2_5G (1 << 6) |
Definition at line 472 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SPEED_40G (1 << 11) |
Definition at line 477 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SPEED_50G (1 << 12) |
Definition at line 478 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SPEED_56G (1 << 13) |
Definition at line 479 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SPEED_5G (1 << 7) |
Definition at line 473 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SPEED_MASK |
Definition at line 481 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SPEED_SHIFT 3 |
Definition at line 468 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SUPPORTS_INT_MODE (1 << 16) |
Definition at line 496 of file interface.h.
| #define VNET_HW_INTERFACE_FLAG_SUPPORTS_TX_L4_CKSUM_OFFLOAD (1 << 17) |
Definition at line 499 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 155 of file interface.h.
| #define VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION_PRIO | ( | f, | |
| p | |||
| ) | _VNET_INTERFACE_FUNCTION_DECL_PRIO(f,hw_interface_link_up_down,p) |
Definition at line 157 of file interface.h.
| #define VNET_ITF_FUNC_N_PRIO ((vnet_interface_function_priority_t)VNET_ITF_FUNC_PRIORITY_HIGH+1) |
Definition at line 103 of file interface.h.
| #define VNET_LINK_NUM (VNET_LINK_NSH+1) |
Number of link types.
Not part of the enum so it does not have to be included in switch statements
Definition at line 330 of file interface.h.
| #define VNET_LINKS |
Definition at line 312 of file interface.h.
| #define VNET_SW_INTERFACE_ADD_DEL_FUNCTION | ( | f | ) | _VNET_INTERFACE_FUNCTION_DECL(f,sw_interface_add_del) |
Definition at line 161 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 163 of file interface.h.
| #define VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION_PRIO | ( | f, | |
| p | |||
| ) | _VNET_INTERFACE_FUNCTION_DECL_PRIO(f,sw_interface_admin_up_down, p) |
Definition at line 165 of file interface.h.
| #define VNET_SW_INTERFACE_FLAG_ADMIN_UP (1 << 0) |
Definition at line 661 of file interface.h.
| #define VNET_SW_INTERFACE_FLAG_BOND_SLAVE (1 << 4) |
Definition at line 670 of file interface.h.
| #define VNET_SW_INTERFACE_FLAG_ERROR (1 << 6) |
Definition at line 676 of file interface.h.
| #define VNET_SW_INTERFACE_FLAG_HIDDEN (1 << 5) |
Definition at line 673 of file interface.h.
| #define VNET_SW_INTERFACE_FLAG_PROXY_ARP (1 << 2) |
Definition at line 666 of file interface.h.
| #define VNET_SW_INTERFACE_FLAG_PUNT (1 << 1) |
Definition at line 664 of file interface.h.
| #define VNET_SW_INTERFACE_FLAG_UNNUMBERED (1 << 3) |
Definition at line 668 of file interface.h.
| #define VNET_SW_INTERFACE_MTU_CHANGE_FUNCTION | ( | f | ) | _VNET_INTERFACE_FUNCTION_DECL(f,sw_interface_mtu_change) |
Definition at line 159 of file interface.h.
| typedef struct _vnet_device_class vnet_device_class_t |
| typedef int( vnet_flow_dev_ops_function_t) (struct vnet_main_t *vnm, vnet_flow_dev_op_t op, u32 hw_if_index, u32 index, uword *private_data) |
Definition at line 93 of file interface.h.
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 63 of file interface.h.
| typedef clib_error_t*( vnet_interface_set_l2_mode_function_t) (struct vnet_main_t *vnm, struct vnet_hw_interface_t *hi, i32 l2_if_adjust) |
Definition at line 81 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 72 of file interface.h.
| typedef clib_error_t*( vnet_interface_set_rx_mode_function_t) (struct vnet_main_t *vnm, u32 if_index, u32 queue_id, vnet_hw_interface_rx_mode mode) |
Definition at line 76 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 67 of file interface.h.
| enum vnet_flood_class_t |
| Enumerator | |
|---|---|
| VNET_FLOOD_CLASS_BVI | |
| VNET_FLOOD_CLASS_NORMAL | |
| VNET_FLOOD_CLASS_TUNNEL_MASTER | |
| VNET_FLOOD_CLASS_TUNNEL_NORMAL | |
| VNET_FLOOD_CLASS_NO_FLOOD | |
Definition at line 626 of file interface.h.
| enum vnet_flow_dev_op_t |
| Enumerator | |
|---|---|
| VNET_FLOW_DEV_OP_ADD_FLOW | |
| VNET_FLOW_DEV_OP_DEL_FLOW | |
| VNET_FLOW_DEV_OP_GET_COUNTER | |
| VNET_FLOW_DEV_OP_RESET_COUNTER | |
Definition at line 84 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 340 of file interface.h.
Definition at line 51 of file interface.h.
Definition at line 706 of file interface.h.
| Enumerator | |
|---|---|
| VNET_ITF_FUNC_PRIORITY_LOW | |
| VNET_ITF_FUNC_PRIORITY_HIGH | |
Definition at line 98 of file interface.h.
| Enumerator | |
|---|---|
| COLLECT_SIMPLE_STATS | |
| COLLECT_DETAILED_STATS | |
Definition at line 761 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 | |
| VNET_LINK_NSH | |
Definition at line 298 of file interface.h.
| enum vnet_mtu_t |
| Enumerator | |
|---|---|
| VNET_MTU_L3 | |
| VNET_MTU_IP4 | |
| VNET_MTU_IP6 | |
| VNET_MTU_MPLS | |
| VNET_N_MTU | |
Definition at line 640 of file interface.h.
| Enumerator | |
|---|---|
| VNET_SW_INTERFACE_TYPE_HARDWARE | |
| VNET_SW_INTERFACE_TYPE_SUB | |
| VNET_SW_INTERFACE_TYPE_P2P | |
| VNET_SW_INTERFACE_TYPE_PIPE | |
Definition at line 573 of file interface.h.
|
inlinestatic |
| void collect_detailed_interface_stats_flag_clear | ( | void | ) |
| void collect_detailed_interface_stats_flag_set | ( | void | ) |
| 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 1592 of file interface.c.
Here is the caller graph for this function:| void default_update_adjacency | ( | struct vnet_main_t * | vnm, |
| u32 | sw_if_index, | ||
| u32 | adj_index | ||
| ) |
Default adjacency update function.
Definition at line 1600 of file interface.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
|
inlinestatic |
Definition at line 836 of file interface.h.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 1393 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 1554 of file interface.c.
Here is the caller graph for this function:| vnet_mtu_t vnet_link_to_mtu | ( | vnet_link_t | link | ) |
| void vnet_pcap_drop_trace_filter_add_del | ( | u32 | error_index, |
| int | is_add | ||
| ) |
Definition at line 952 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int collect_detailed_interface_stats_flag |
Definition at line 1647 of file interface.c.
| vnet_device_class_t vnet_local_interface_device_class |