![]() |
FD.io VPP
v16.06
Vector Packet Processing
|
Include dependency graph for ethernet.h:Go to the source code of this file.
Data Structures | |
| struct | ethernet_max_header_t |
| struct | ethernet_interface |
| struct | ethernet_type_info_t |
| struct | subint_config_t |
| struct | main_intf_t |
| struct | vlan_intf_t |
| struct | vlan_table_t |
| struct | qinq_intf_t |
| struct | qinq_table_t |
| struct | next_by_ethertype_t |
| struct | ethernet_main_t |
Macros | |
| #define | ETHERNET_MIN_PACKET_BYTES 64 |
| #define | ETHERNET_MAX_PACKET_BYTES 9216 |
| #define | ETHERNET_INTERFACE_FLAG_ACCEPT_ALL (1 << 0) |
| #define | ETHERNET_INTERFACE_FLAG_CONFIG_PROMISC(flags) (((flags) & ~ETHERNET_INTERFACE_FLAG_ACCEPT_ALL) == 0) |
| #define | ETHERNET_INTERFACE_FLAG_MTU (1 << 1) |
| #define | ETHERNET_INTERFACE_FLAG_CONFIG_MTU(flags) ((flags) & ETHERNET_INTERFACE_FLAG_MTU) |
| #define | ethernet_error(n, c, s) ETHERNET_ERROR_##n, |
| #define | SUBINT_CONFIG_MATCH_0_TAG (1<<0) |
| #define | SUBINT_CONFIG_MATCH_1_TAG (1<<1) |
| #define | SUBINT_CONFIG_MATCH_2_TAG (1<<2) |
| #define | SUBINT_CONFIG_MATCH_3_TAG (1<<3) |
| #define | SUBINT_CONFIG_VALID (1<<4) |
| #define | SUBINT_CONFIG_L2 (1<<5) |
| #define | ethernet_buffer_get_vlan_count(b) |
| Returns the number of VLAN headers in the current Ethernet frame in the buffer. More... | |
| #define | ethernet_buffer_set_vlan_count(b, v) |
| Sets the number of VLAN headers in the current Ethernet frame in the buffer. More... | |
| #define | ethernet_buffer_adjust_vlan_count(b, v) |
| Adjusts the vlan count by the delta in 'v'. More... | |
| #define | ethernet_buffer_adjust_vlan_count_by_bytes(b, v) |
| Adjusts the vlan count by the header size byte delta in 'v'. More... | |
| #define | ethernet_buffer_header_size(b) |
| Determine the size of the Ethernet headers of the current frame in the buffer. More... | |
Typedefs | |
| typedef u32( | ethernet_flag_change_function_t) (vnet_main_t *vnm, struct vnet_hw_interface_t *hi, u32 flags) |
| typedef struct ethernet_interface | ethernet_interface_t |
Enumerations | |
| enum | ethernet_error_t { ETHERNET_N_ERROR } |
Variables | |
| vnet_hw_interface_class_t | ethernet_hw_interface_class |
| ethernet_main_t | ethernet_main |
| vlib_node_registration_t | ethernet_input_node |
| (constructor) VLIB_REGISTER_NODE (ethernet_input_node) More... | |
| #define ethernet_buffer_adjust_vlan_count | ( | b, | |
| v | |||
| ) |
Adjusts the vlan count by the delta in 'v'.
Definition at line 329 of file ethernet.h.
| #define ethernet_buffer_adjust_vlan_count_by_bytes | ( | b, | |
| v | |||
| ) |
Adjusts the vlan count by the header size byte delta in 'v'.
Definition at line 335 of file ethernet.h.
| #define ethernet_buffer_get_vlan_count | ( | b | ) |
Returns the number of VLAN headers in the current Ethernet frame in the buffer.
Returns 0, 1, 2 for the known header count. The value 3 indicates the number of headers is not known.
Definition at line 315 of file ethernet.h.
| #define ethernet_buffer_header_size | ( | b | ) |
Determine the size of the Ethernet headers of the current frame in the buffer.
This uses the VLAN depth flags that are set by ethernet-input. Because these flags are stored in the vlib_buffer_t "flags" field this count is valid regardless of the node so long as it's checked downstream of ethernet-input; That is, the value is not stored in the opaque space.
Definition at line 350 of file ethernet.h.
| #define ethernet_buffer_set_vlan_count | ( | b, | |
| v | |||
| ) |
Sets the number of VLAN headers in the current Ethernet frame in the buffer.
Values 0, 1, 2 indicate the header count. The value 3 indicates the number of headers is not known.
Definition at line 323 of file ethernet.h.
| #define ethernet_error | ( | n, | |
| c, | |||
| s | |||
| ) | ETHERNET_ERROR_##n, |
Definition at line 116 of file ethernet.h.
| #define ETHERNET_INTERFACE_FLAG_ACCEPT_ALL (1 << 0) |
Definition at line 81 of file ethernet.h.
| #define ETHERNET_INTERFACE_FLAG_CONFIG_MTU | ( | flags | ) | ((flags) & ETHERNET_INTERFACE_FLAG_MTU) |
Definition at line 87 of file ethernet.h.
| #define ETHERNET_INTERFACE_FLAG_CONFIG_PROMISC | ( | flags | ) | (((flags) & ~ETHERNET_INTERFACE_FLAG_ACCEPT_ALL) == 0) |
Definition at line 82 of file ethernet.h.
| #define ETHERNET_INTERFACE_FLAG_MTU (1 << 1) |
Definition at line 86 of file ethernet.h.
| #define ETHERNET_MAX_PACKET_BYTES 9216 |
Definition at line 75 of file ethernet.h.
| #define ETHERNET_MIN_PACKET_BYTES 64 |
Definition at line 74 of file ethernet.h.
| #define SUBINT_CONFIG_L2 (1<<5) |
Definition at line 136 of file ethernet.h.
| #define SUBINT_CONFIG_MATCH_0_TAG (1<<0) |
Definition at line 131 of file ethernet.h.
| #define SUBINT_CONFIG_MATCH_1_TAG (1<<1) |
Definition at line 132 of file ethernet.h.
| #define SUBINT_CONFIG_MATCH_2_TAG (1<<2) |
Definition at line 133 of file ethernet.h.
| #define SUBINT_CONFIG_MATCH_3_TAG (1<<3) |
Definition at line 134 of file ethernet.h.
| #define SUBINT_CONFIG_VALID (1<<4) |
Definition at line 135 of file ethernet.h.
| typedef u32( ethernet_flag_change_function_t) (vnet_main_t *vnm, struct vnet_hw_interface_t *hi, u32 flags) |
Definition at line 72 of file ethernet.h.
| typedef struct ethernet_interface ethernet_interface_t |
| enum ethernet_error_t |
| Enumerator | |
|---|---|
| ETHERNET_N_ERROR | |
Definition at line 115 of file ethernet.h.
| always_inline u32 eth_create_valid_subint_match_flags | ( | u32 | num_tags | ) |
| always_inline u32 eth_identify_subint | ( | vnet_hw_interface_t * | hi, |
| vlib_buffer_t * | b0, | ||
| u32 | match_flags, | ||
| main_intf_t * | main_intf, | ||
| vlan_intf_t * | vlan_intf, | ||
| qinq_intf_t * | qinq_intf, | ||
| u32 * | new_sw_if_index, | ||
| u8 * | error0, | ||
| u32 * | is_l2 | ||
| ) |
| always_inline u32 eth_mac_equal | ( | u8 * | mac1, |
| u8 * | mac2 | ||
| ) |
| always_inline void eth_vlan_table_lookups | ( | ethernet_main_t * | em, |
| vnet_main_t * | vnm, | ||
| u32 | port_sw_if_index0, | ||
| u16 | first_ethertype, | ||
| u16 | outer_id, | ||
| u16 | inner_id, | ||
| vnet_hw_interface_t ** | hi, | ||
| main_intf_t ** | main_intf, | ||
| vlan_intf_t ** | vlan_intf, | ||
| qinq_intf_t ** | qinq_intf | ||
| ) |
Definition at line 387 of file ethernet.h.
Here is the call graph for this function:
Here is the caller graph for this function:| always_inline ethernet_header_t* ethernet_buffer_get_header | ( | vlib_buffer_t * | b | ) |
| void ethernet_delete_interface | ( | vnet_main_t * | vnm, |
| u32 | hw_if_index | ||
| ) |
Definition at line 205 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 451 of file interface.c.
Here is the call graph for this function:
Here is the caller graph for this function:| ethernet_main_t* ethernet_get_main | ( | vlib_main_t * | vm | ) |
| always_inline ethernet_type_info_t* ethernet_get_type_info | ( | ethernet_main_t * | em, |
| ethernet_type_t | type | ||
| ) |
Definition at line 229 of file ethernet.h.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 56 of file ethernet.h.
| always_inline u64 ethernet_mac_address_u64 | ( | u8 * | a | ) |
Definition at line 48 of file ethernet.h.
| void ethernet_register_input_type | ( | vlib_main_t * | vm, |
| ethernet_type_t | type, | ||
| u32 | node_index | ||
| ) |
| 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 157 of file interface.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void ethernet_register_l2_input | ( | vlib_main_t * | vm, |
| u32 | node_index | ||
| ) |
| void ethernet_register_l3_redirect | ( | vlib_main_t * | vm, |
| u32 | node_index | ||
| ) |
| u32 ethernet_set_flags | ( | vnet_main_t * | vnm, |
| u32 | hw_if_index, | ||
| u32 | flags | ||
| ) |
Definition at line 243 of file interface.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void ethernet_set_rx_redirect | ( | vnet_main_t * | vnm, |
| vnet_hw_interface_t * | hi, | ||
| u32 | enable | ||
| ) |
| always_inline void ethernet_setup_node | ( | vlib_main_t * | vm, |
| u32 | node_index | ||
| ) |
Definition at line 293 of file ethernet.h.
Here is the call graph for this function:
Here is the caller graph for this function:| void ethernet_sw_interface_set_l2_mode | ( | vnet_main_t * | vnm, |
| u32 | sw_if_index, | ||
| u32 | l2 | ||
| ) |
| void ethernet_sw_interface_set_l2_mode_noport | ( | vnet_main_t * | vnm, |
| u32 | sw_if_index, | ||
| u32 | l2 | ||
| ) |
| clib_error_t* next_by_ethertype_init | ( | next_by_ethertype_t * | l3_next | ) |
| clib_error_t* next_by_ethertype_register | ( | next_by_ethertype_t * | l3_next, |
| u32 | ethertype, | ||
| u32 | next_index | ||
| ) |
| uword unformat_ethernet_address | ( | unformat_input_t * | input, |
| va_list * | args | ||
| ) |
| uword unformat_ethernet_header | ( | unformat_input_t * | input, |
| va_list * | args | ||
| ) |
| uword unformat_ethernet_interface | ( | unformat_input_t * | input, |
| va_list * | args | ||
| ) |
Definition at line 136 of file interface.c.
Here is the call graph for this function:
Here is the caller graph for this function:| uword unformat_ethernet_type_host_byte_order | ( | unformat_input_t * | input, |
| va_list * | args | ||
| ) |
| uword unformat_ethernet_type_net_byte_order | ( | unformat_input_t * | input, |
| va_list * | args | ||
| ) |
| uword unformat_pg_ethernet_header | ( | unformat_input_t * | input, |
| va_list * | args | ||
| ) |
| int vnet_arp_set_ip4_over_ethernet | ( | vnet_main_t * | vnm, |
| u32 | sw_if_index, | ||
| u32 | fib_index, | ||
| void * | a_arg, | ||
| int | is_static | ||
| ) |
| int vnet_arp_unset_ip4_over_ethernet | ( | vnet_main_t * | vnm, |
| u32 | sw_if_index, | ||
| u32 | fib_index, | ||
| void * | a_arg | ||
| ) |
Definition at line 349 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 459 of file interface.c.
Here is the call graph for this function:
Here is the caller graph for this function:| always_inline ethernet_main_t* vnet_get_ethernet_main | ( | void | ) |
| int vnet_proxy_arp_fib_reset | ( | u32 | fib_id | ) |
| vnet_hw_interface_class_t ethernet_hw_interface_class |
| vlib_node_registration_t ethernet_input_node |
(constructor) VLIB_REGISTER_NODE (ethernet_input_node)
| ethernet_main_t ethernet_main |
Definition at line 226 of file ethernet.h.