FD.io VPP
v21.06-3-gbb25fbf28
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 697 of file interface_output.c.
clib_mask_compare_u32 | ( | swif | , |
sw_if_indices | , | ||
mask | , | ||
frame-> | n_vectors | ||
) |
|
static |
Definition at line 705 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 62 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 454 of file interface_output.c.
if | ( | hi-> | output_node_thread_runtimes | ) |
if | ( | n_left | ) |
Definition at line 1184 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 755 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 633 of file interface_output.c.
|
inlinestatic |
Definition at line 883 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 326 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 167 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 | sw_if_index_from_buffer | ||
) |
Definition at line 288 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 1260 of file interface_output.c.
while | ( | n_left >= | 8 | ) |
Definition at line 1086 of file interface_output.c.
while | ( | n_left | ) |
Definition at line 1102 of file interface_output.c.
Definition at line 406 of file interface_output.c.
int arc_or_subif = 0 |
Definition at line 407 of file interface_output.c.
vlib_buffer_t ** b = bufs |
Definition at line 1074 of file interface_output.c.
vlib_buffer_t* bufs[VLIB_FRAME_SIZE] |
Definition at line 400 of file interface_output.c.
Definition at line 396 of file interface_output.c.
u32 config_index = ~0 |
Definition at line 402 of file interface_output.c.
int do_tx_offloads = 0 |
Definition at line 408 of file interface_output.c.
else |
Definition at line 481 of file interface_output.c.
f = vlib_get_next_frame_internal (vm, node, next_index, 0) |
Definition at line 1080 of file interface_output.c.
Definition at line 393 of file interface_output.c.
from = vlib_frame_vector_args (frame) |
Definition at line 409 of file interface_output.c.
hi = vnet_get_sup_hw_interface (vnm, sw_if_index) |
Definition at line 397 of file interface_output.c.
vnet_interface_main_t * im = &vnm->interface_main |
Definition at line 395 of file interface_output.c.
vlib_node_registration_t interface_drop |
(constructor) VLIB_REGISTER_NODE (interface_drop)
Definition at line 1036 of file interface_output.c.
vlib_node_registration_t interface_punt |
(constructor) VLIB_REGISTER_NODE (interface_punt)
Definition at line 1049 of file interface_output.c.
u64 mask[VLIB_FRAME_SIZE/64] = {} |
Definition at line 1077 of file interface_output.c.
Definition at line 401 of file interface_output.c.
u32 n_bytes |
Definition at line 401 of file interface_output.c.
Definition at line 1078 of file interface_output.c.
Definition at line 1174 of file interface_output.c.
n_free = VLIB_FRAME_SIZE |
Definition at line 1078 of file interface_output.c.
Definition at line 1078 of file interface_output.c.
return frame n_vectors |
Definition at line 1199 of file interface_output.c.
u16 next_index = VNET_INTERFACE_OUTPUT_NEXT_TX |
Definition at line 404 of file interface_output.c.
Definition at line 392 of file interface_output.c.
node node_index |
Definition at line 420 of file interface_output.c.
off = 0 |
Definition at line 1078 of file interface_output.c.
Definition at line 1071 of file interface_output.c.
vnet_interface_output_runtime_t* rt = (void *) node->runtime_data |
Definition at line 399 of file interface_output.c.
si = vnet_get_sw_interface (vnm, sw_if_index) |
Definition at line 398 of file interface_output.c.
Definition at line 403 of file interface_output.c.
u32 sw_if_indices[VLIB_FRAME_SIZE] |
Definition at line 1075 of file interface_output.c.
more swif = sw_if_indices[0] |
Definition at line 1078 of file interface_output.c.
tf = vlib_frame_scalar_args (f) |
Definition at line 1073 of file interface_output.c.
u32 ti = vm->thread_index |
Definition at line 405 of file interface_output.c.
Definition at line 1078 of file interface_output.c.
to = vlib_frame_vector_args (f) |
Definition at line 1078 of file interface_output.c.
u64 used_elts[VLIB_FRAME_SIZE/64] = {} |
Definition at line 1076 of file interface_output.c.
vlib_main_t* vm |
Definition at line 392 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 1202 of file interface_output.c.
node VNET_INTERFACE_OUTPUT_ERROR_INTERFACE_DELETED |
Definition at line 420 of file interface_output.c.
VNET_INTERFACE_OUTPUT_NEXT_DROP |
Definition at line 419 of file interface_output.c.
vlib_node_registration_t vnet_interface_output_node |
(constructor) VLIB_REGISTER_NODE (vnet_interface_output_node)
Definition at line 491 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 1061 of file interface_output.c.