FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
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 } |
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 715 of file interface_output.c.
clib_mask_compare_u32 | ( | swif | , |
sw_if_indices | , | ||
mask | , | ||
frame-> | n_vectors | ||
) |
|
static |
Definition at line 723 of file interface_output.c.
static_always_inline void enqueu_to_tx_node | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vnet_hw_interface_t * | hi, | ||
u32 * | from, | ||
u32 | n_vectors | ||
) |
Definition at line 63 of file interface_output.c.
if | ( | ! | si->flags &VNET_SW_INTERFACE_FLAG_ADMIN_UP)||!(hi->flags &VNET_HW_INTERFACE_FLAG_LINK_UP | ) |
if | ( | f-> | n_vectors, |
0 && | r==0||r->frame.queue_id==tf->queue_id | ||
) |
Definition at line 473 of file interface_output.c.
if | ( | hi-> | output_node_thread_runtimes | ) |
if | ( | n_left | ) |
Definition at line 1202 of file interface_output.c.
if | ( | PREDICT_FALSE(vnet_have_features(arc, sw_if_index)) | ) |
if | ( | rt-> | is_deleted | ) |
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 773 of file interface_output.c.
VLIB_NODE_FN() interface_punt | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
|
static |
Definition at line 651 of file interface_output.c.
|
inlinestatic |
Definition at line 901 of file interface_output.c.
static_always_inline void store_tx_frame_scalar_data | ( | vnet_hw_if_output_node_runtime_t * | r, |
vnet_hw_if_tx_frame_t * | tf | ||
) |
Definition at line 346 of file interface_output.c.
vlib_increment_combined_counter | ( | ccm | , |
ti | , | ||
sw_if_index | , | ||
n_buffers | , | ||
n_bytes | |||
) |
vlib_put_next_frame | ( | vm | , |
node | , | ||
next_index | , | ||
0 | |||
) |
vlib_put_next_frame | ( | vm | , |
node | , | ||
next_index | , | ||
VLIB_FRAME_SIZE - | n_frame2 | ||
) |
VNET_FEATURE_ARC_INIT | ( | interface_output | , |
static | |||
) |
VNET_FEATURE_INIT | ( | interface_output_arc_end | , |
static | |||
) |
VNET_FEATURE_INIT | ( | ipsec_if_tx | , |
static | |||
) |
VNET_FEATURE_INIT | ( | span_tx | , |
static | |||
) |
VNET_HW_INTERFACE_ADD_DEL_FUNCTION | ( | vnet_per_buffer_interface_output_hw_interface_add_del | ) |
static_always_inline void vnet_interface_output_handle_offload | ( | vlib_main_t * | vm, |
vlib_buffer_t * | b | ||
) |
Definition at line 168 of file interface_output.c.
static_always_inline uword vnet_interface_output_node_inline | ( | vlib_main_t * | vm, |
u32 | sw_if_index, | ||
vlib_combined_counter_main_t * | ccm, | ||
vlib_buffer_t ** | b, | ||
u32 | config_index, | ||
u8 | arc, | ||
u32 | n_left, | ||
int | do_tx_offloads, | ||
int | arc_or_subif | ||
) |
|
static |
static_always_inline void vnet_interface_pcap_tx_trace | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame, | ||
int | in_interface_ouput | ||
) |
Definition at line 289 of file interface_output.c.
void vnet_pcap_drop_trace_filter_add_del | ( | u32 | error_index, |
int | is_add | ||
) |
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 1278 of file interface_output.c.
while | ( | n_left >= | 8 | ) |
Definition at line 1104 of file interface_output.c.
while | ( | n_left | ) |
Definition at line 1120 of file interface_output.c.
Definition at line 426 of file interface_output.c.
int arc_or_subif = 0 |
Definition at line 427 of file interface_output.c.
vlib_buffer_t ** b = bufs |
Definition at line 1092 of file interface_output.c.
vlib_buffer_t* bufs[VLIB_FRAME_SIZE] |
Definition at line 420 of file interface_output.c.
Definition at line 416 of file interface_output.c.
u32 config_index = ~0 |
Definition at line 422 of file interface_output.c.
int do_tx_offloads = 0 |
Definition at line 428 of file interface_output.c.
else |
Definition at line 500 of file interface_output.c.
f = vlib_get_next_frame_internal (vm, node, next_index, 0) |
Definition at line 1098 of file interface_output.c.
Definition at line 413 of file interface_output.c.
from = vlib_frame_vector_args (frame) |
Definition at line 429 of file interface_output.c.
hi = vnet_get_sup_hw_interface (vnm, sw_if_index) |
Definition at line 417 of file interface_output.c.
vnet_interface_main_t * im = &vnm->interface_main |
Definition at line 415 of file interface_output.c.
vlib_node_registration_t interface_drop |
(constructor) VLIB_REGISTER_NODE (interface_drop)
Definition at line 1054 of file interface_output.c.
vlib_node_registration_t interface_punt |
(constructor) VLIB_REGISTER_NODE (interface_punt)
Definition at line 1067 of file interface_output.c.
u64 mask[VLIB_FRAME_SIZE/64] = {} |
Definition at line 1095 of file interface_output.c.
Definition at line 421 of file interface_output.c.
u32 n_bytes |
Definition at line 421 of file interface_output.c.
Definition at line 1096 of file interface_output.c.
Definition at line 1192 of file interface_output.c.
n_free = VLIB_FRAME_SIZE |
Definition at line 1096 of file interface_output.c.
Definition at line 1096 of file interface_output.c.
return frame n_vectors |
Definition at line 1217 of file interface_output.c.
u16 next_index = VNET_INTERFACE_OUTPUT_NEXT_TX |
Definition at line 424 of file interface_output.c.
Definition at line 412 of file interface_output.c.
node node_index |
Definition at line 440 of file interface_output.c.
off = 0 |
Definition at line 1096 of file interface_output.c.
Definition at line 1089 of file interface_output.c.
vnet_interface_output_runtime_t* rt = (void *) node->runtime_data |
Definition at line 419 of file interface_output.c.
si = vnet_get_sw_interface (vnm, sw_if_index) |
Definition at line 418 of file interface_output.c.
Definition at line 423 of file interface_output.c.
u32 sw_if_indices[VLIB_FRAME_SIZE] |
Definition at line 1093 of file interface_output.c.
more swif = sw_if_indices[0] |
Definition at line 1096 of file interface_output.c.
tf = vlib_frame_scalar_args (f) |
Definition at line 1091 of file interface_output.c.
u32 ti = vm->thread_index |
Definition at line 425 of file interface_output.c.
Definition at line 1096 of file interface_output.c.
to = vlib_frame_vector_args (f) |
Definition at line 1096 of file interface_output.c.
u64 used_elts[VLIB_FRAME_SIZE/64] = {} |
Definition at line 1094 of file interface_output.c.
vlib_main_t* vm |
Definition at line 412 of file interface_output.c.
vlib_node_registration_t vnet_interface_output_arc_end_node |
(constructor) VLIB_REGISTER_NODE (vnet_interface_output_arc_end_node)
Definition at line 1220 of file interface_output.c.
node VNET_INTERFACE_OUTPUT_ERROR_INTERFACE_DELETED |
Definition at line 440 of file interface_output.c.
VNET_INTERFACE_OUTPUT_NEXT_DROP |
Definition at line 439 of file interface_output.c.
vlib_node_registration_t vnet_interface_output_node |
(constructor) VLIB_REGISTER_NODE (vnet_interface_output_node)
Definition at line 510 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 1079 of file interface_output.c.