![]() |
FD.io VPP
v19.08.1-401-g8e4ed521a
Vector Packet Processing
|
Include dependency graph for interface_output.c:Go to the source code of this file.
Data Structures | |
| struct | interface_output_trace_t |
| struct | vnet_error_trace_t_ |
Typedefs | |
| typedef struct vnet_error_trace_t_ | vnet_error_trace_t |
Enumerations | |
| enum | vnet_error_disposition_t { VNET_ERROR_DISPOSITION_DROP, VNET_ERROR_DISPOSITION_PUNT, VNET_ERROR_N_DISPOSITION } |
Variables | |
| vlib_node_registration_t | interface_drop |
| (constructor) VLIB_REGISTER_NODE (interface_drop) More... | |
| vlib_node_registration_t | interface_punt |
| (constructor) VLIB_REGISTER_NODE (interface_punt) More... | |
| vlib_node_registration_t | vnet_per_buffer_interface_output_node |
| (constructor) VLIB_REGISTER_NODE (vnet_per_buffer_interface_output_node) More... | |
| vlib_node_registration_t | interface_tx |
| (constructor) VLIB_REGISTER_NODE (interface_tx) More... | |
| typedef struct vnet_error_trace_t_ vnet_error_trace_t |
| Enumerator | |
|---|---|
| VNET_ERROR_DISPOSITION_DROP | |
| VNET_ERROR_DISPOSITION_PUNT | |
| VNET_ERROR_N_DISPOSITION | |
Definition at line 1069 of file interface_output.c.
| static_always_inline void calc_checksums | ( | vlib_main_t * | vm, |
| vlib_buffer_t * | b | ||
| ) |
Definition at line 181 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void drop_one_buffer_and_count | ( | vlib_main_t * | vm, |
| vnet_main_t * | vnm, | ||
| vlib_node_runtime_t * | node, | ||
| u32 * | pbi0, | ||
| u32 | drop_error_code | ||
| ) |
Definition at line 451 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 60 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| VLIB_NODE_FN() interface_drop | ( | vlib_main_t * | vm, |
| vlib_node_runtime_t * | node, | ||
| vlib_frame_t * | frame | ||
| ) |
| static_always_inline uword interface_drop_punt | ( | vlib_main_t * | vm, |
| vlib_node_runtime_t * | node, | ||
| vlib_frame_t * | frame, | ||
| vnet_error_disposition_t | disposition | ||
| ) |
Definition at line 1077 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| VLIB_NODE_FN() interface_punt | ( | vlib_main_t * | vm, |
| vlib_node_runtime_t * | node, | ||
| vlib_frame_t * | frame | ||
| ) |
|
static |
Definition at line 1011 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
|
inlinestatic |
Definition at line 1169 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline u16 tso_alloc_tx_bufs | ( | vlib_main_t * | vm, |
| vnet_interface_per_thread_data_t * | ptd, | ||
| vlib_buffer_t * | b0, | ||
| u32 | n_bytes_b0, | ||
| u16 | l234_sz, | ||
| u16 | gso_size | ||
| ) |
Definition at line 234 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void tso_fixup_segmented_buf | ( | vlib_buffer_t * | b0, |
| u8 | tcp_flags, | ||
| int | is_ip6 | ||
| ) |
| static_always_inline void tso_init_buf_from_template | ( | vlib_main_t * | vm, |
| vlib_buffer_t * | nb0, | ||
| vlib_buffer_t * | b0, | ||
| u16 | template_data_sz, | ||
| u16 | gso_size, | ||
| u8 ** | p_dst_ptr, | ||
| u16 * | p_dst_left, | ||
| u32 | next_tcp_seq, | ||
| u32 | flags | ||
| ) |
Definition at line 274 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void tso_init_buf_from_template_base | ( | vlib_buffer_t * | nb0, |
| vlib_buffer_t * | b0, | ||
| u32 | flags, | ||
| u16 | length | ||
| ) |
Definition at line 260 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline u32 tso_segment_buffer | ( | vlib_main_t * | vm, |
| vnet_interface_per_thread_data_t * | ptd, | ||
| int | do_tx_offloads, | ||
| u32 | sbi0, | ||
| vlib_buffer_t * | sb0, | ||
| u32 | n_bytes_b0 | ||
| ) |
Allocate the necessary number of ptd->split_buffers, and segment the possibly chained buffer(s) from b0 into there.
Return the cumulative number of bytes sent or zero if allocation failed.
Definition at line 323 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| VNET_FEATURE_ARC_INIT | ( | interface_output | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | span_tx | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | ipsec_if_tx | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | interface_tx | , |
| static | |||
| ) |
| VNET_HW_INTERFACE_ADD_DEL_FUNCTION | ( | vnet_per_buffer_interface_output_hw_interface_add_del | ) |
Here is the caller graph for this function:| uword vnet_interface_output_node | ( | vlib_main_t * | vm, |
| vlib_node_runtime_t * | node, | ||
| vlib_frame_t * | frame | ||
| ) |
Definition at line 878 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline uword vnet_interface_output_node_inline | ( | vlib_main_t * | vm, |
| vlib_node_runtime_t * | node, | ||
| vlib_frame_t * | frame, | ||
| vnet_main_t * | vnm, | ||
| vnet_hw_interface_t * | hi, | ||
| int | do_tx_offloads | ||
| ) |
Definition at line 851 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline uword vnet_interface_output_node_inline_gso | ( | vlib_main_t * | vm, |
| vlib_node_runtime_t * | node, | ||
| vlib_frame_t * | frame, | ||
| vnet_main_t * | vnm, | ||
| vnet_hw_interface_t * | hi, | ||
| int | do_tx_offloads, | ||
| int | do_segmentation | ||
| ) |
Definition at line 472 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 106 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void vnet_interface_pcap_tx_trace | ( | vlib_main_t * | vm, |
| vlib_node_runtime_t * | node, | ||
| vlib_frame_t * | frame, | ||
| int | sw_if_index_from_buffer | ||
| ) |
Definition at line 802 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void vnet_pcap_drop_trace_filter_add_del | ( | u32 | error_index, |
| int | is_add | ||
| ) |
Definition at line 1299 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| clib_error_t* vnet_per_buffer_interface_output_hw_interface_add_del | ( | vnet_main_t * | vnm, |
| u32 | hw_if_index, | ||
| u32 | is_create | ||
| ) |
| VLIB_NODE_FN() vnet_per_buffer_interface_output_node | ( | vlib_main_t * | vm, |
| vlib_node_runtime_t * | node, | ||
| vlib_frame_t * | frame | ||
| ) |
| void vnet_set_interface_output_node | ( | vnet_main_t * | vnm, |
| u32 | hw_if_index, | ||
| u32 | node_index | ||
| ) |
Set interface output node - for interface registered without its output/tx nodes created because its VNET_DEVICE_CLASS did not specify any tx_function.
This is typically the case for tunnel interfaces.
Definition at line 1472 of file interface_output.c.
Here is the call graph for this function:
Here is the caller graph for this function:| vlib_node_registration_t interface_drop |
(constructor) VLIB_REGISTER_NODE (interface_drop)
Definition at line 1334 of file interface_output.c.
| vlib_node_registration_t interface_punt |
(constructor) VLIB_REGISTER_NODE (interface_punt)
Definition at line 1346 of file interface_output.c.
| vlib_node_registration_t interface_tx |
(constructor) VLIB_REGISTER_NODE (interface_tx)
Definition at line 1411 of file interface_output.c.
| vlib_node_registration_t vnet_per_buffer_interface_output_node |
(constructor) VLIB_REGISTER_NODE (vnet_per_buffer_interface_output_node)
Definition at line 1358 of file interface_output.c.