|
static u8 * | format_ethernet_input_trace (u8 *s, va_list *va) |
|
static_always_inline void | parse_header (ethernet_input_variant_t variant, vlib_buffer_t *b0, u16 *type, u16 *orig_type, u16 *outer_id, u16 *inner_id, u32 *match_flags) |
|
static_always_inline void | ethernet_input_inline_dmac_check (vnet_hw_interface_t *hi, u64 *dmacs, u8 *dmacs_bad, u32 n_packets, ethernet_interface_t *ei, u8 have_sec_dmac) |
|
static_always_inline void | identify_subint (ethernet_main_t *em, 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) |
|
static_always_inline void | determine_next_node (ethernet_main_t *em, ethernet_input_variant_t variant, u32 is_l20, u32 type0, vlib_buffer_t *b0, u8 *error0, u8 *next0) |
|
| STATIC_ASSERT_OFFSET_OF (vlib_buffer_t, current_data, 0) |
|
| STATIC_ASSERT_OFFSET_OF (vlib_buffer_t, current_length, 2) |
|
| STATIC_ASSERT_OFFSET_OF (vlib_buffer_t, flags, 4) |
|
| STATIC_ASSERT (STRUCT_OFFSET_OF(vnet_buffer_opaque_t, l2_hdr_offset)==STRUCT_OFFSET_OF(vnet_buffer_opaque_t, l3_hdr_offset) - 2, "l3_hdr_offset must follow l2_hdr_offset") |
|
static_always_inline void | eth_input_adv_and_flags_x4 (vlib_buffer_t **b, int is_l3) |
|
static_always_inline void | eth_input_adv_and_flags_x1 (vlib_buffer_t **b, int is_l3) |
|
static_always_inline void | eth_input_get_etype_and_tags (vlib_buffer_t **b, u16 *etype, u64 *tags, u64 *dmacs, int offset, int dmac_check) |
|
static_always_inline u16 | eth_input_next_by_type (u16 etype) |
|
static_always_inline void | eth_input_update_if_counters (vlib_main_t *vm, vnet_main_t *vnm, eth_input_tag_lookup_t *l) |
|
static_always_inline void | eth_input_tag_lookup (vlib_main_t *vm, vnet_main_t *vnm, vlib_node_runtime_t *node, vnet_hw_interface_t *hi, u64 tag, u16 *next, vlib_buffer_t *b, eth_input_tag_lookup_t *l, u8 dmac_bad, int is_dot1ad, int main_is_l3, int check_dmac) |
|
static_always_inline u8 | is_dmac_bad (u64 dmac, u64 hwaddr) |
|
static_always_inline u8 | is_sec_dmac_bad (u64 dmac, u64 hwaddr) |
|
static_always_inline u8 | eth_input_sec_dmac_check_x1 (u64 hwaddr, u64 *dmac, u8 *dmac_bad) |
|
static_always_inline u32 | eth_input_sec_dmac_check_x4 (u64 hwaddr, u64 *dmac, u8 *dmac_bad) |
|
static_always_inline void | eth_input_process_frame_dmac_check (vnet_hw_interface_t *hi, u64 *dmacs, u8 *dmacs_bad, u32 n_packets, ethernet_interface_t *ei, u8 have_sec_dmac) |
|
| STATIC_ASSERT (VLIB_FRAME_SIZE % 8==0, "VLIB_FRAME_SIZE must be power of 8") |
|
static_always_inline void | eth_input_process_frame (vlib_main_t *vm, vlib_node_runtime_t *node, vnet_hw_interface_t *hi, u32 *buffer_indices, u32 n_packets, int main_is_l3, int ip4_cksum_ok, int dmac_check) |
|
static_always_inline void | eth_input_single_int (vlib_main_t *vm, vlib_node_runtime_t *node, vnet_hw_interface_t *hi, u32 *from, u32 n_pkts, int ip4_cksum_ok) |
|
static_always_inline void | ethernet_input_trace (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
static_always_inline void | ethernet_input_inline (vlib_main_t *vm, vlib_node_runtime_t *node, u32 *from, u32 n_packets, ethernet_input_variant_t variant) |
|
VLIB_NODE_FN() | ethernet_input_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
VLIB_NODE_FN() | ethernet_input_type_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
VLIB_NODE_FN() | ethernet_input_not_l2_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
static subint_config_t * | ethernet_sw_interface_get_config (vnet_main_t *vnm, u32 sw_if_index, u32 *flags, u32 *unsupported) |
|
static clib_error_t * | ethernet_sw_interface_up_down (vnet_main_t *vnm, u32 sw_if_index, u32 flags) |
|
| VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION (ethernet_sw_interface_up_down) |
|
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) |
|
static clib_error_t * | ethernet_sw_interface_add_del (vnet_main_t *vnm, u32 sw_if_index, u32 is_create) |
|
| VNET_SW_INTERFACE_ADD_DEL_FUNCTION (ethernet_sw_interface_add_del) |
|
void | ethernet_set_rx_redirect (vnet_main_t *vnm, vnet_hw_interface_t *hi, u32 enable) |
|
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) |
|
void | ethernet_input_init (vlib_main_t *vm, ethernet_main_t *em) |
|
void | ethernet_register_input_type (vlib_main_t *vm, ethernet_type_t type, u32 node_index) |
|
void | ethernet_register_l2_input (vlib_main_t *vm, u32 node_index) |
|
void | ethernet_register_l3_redirect (vlib_main_t *vm, u32 node_index) |
|