|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
22 #define _(b, s, n) {.bit = b, .str = #s, },
45 #define _(sym,string) string,
109 return frame->n_vectors;
118 .name =
"lacp-input",
119 .vector_size =
sizeof (
u32),
141 .format =
"Starting LACP process, interface count = %d",
161 .format =
"Stopping LACP process, interface count = %d",
181 f64 poll_time_remaining;
182 uword event_type, *event_data = 0;
187 poll_time_remaining = 0.2;
191 poll_time_remaining =
202 poll_time_remaining = 0.2;
221 poll_time_remaining = 0.2;
#define vec_reset_length(v)
Reset vector length to zero NULL-pointer tolerant.
#define foreach_lacp_state_flag
vlib_main_t vlib_node_runtime_t vlib_frame_t * frame
static vlib_buffer_t * vlib_get_buffer(vlib_main_t *vm, u32 buffer_index)
Translate buffer index into buffer pointer.
void lacp_create_periodic_process(void)
static uword * vlib_process_wait_for_event(vlib_main_t *vm)
@ VLIB_NODE_TYPE_INTERNAL
vlib_main_t vlib_node_runtime_t * node
@ LACP_PROCESS_EVENT_STOP
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
@ LACP_PROCESS_EVENT_START
static_always_inline void * clib_memcpy_fast(void *restrict dst, const void *restrict src, size_t n)
static uword vlib_process_get_events(vlib_main_t *vm, uword **data_vector)
Return the first event type which has occurred and a vector of per-event data of that type,...
vlib_error_t error
Error code for buffers to be enqueued to error handler.
#define ELOG_TYPE_DECLARE(f)
#define VLIB_NODE_FLAG_TRACE
u32 vlib_process_create(vlib_main_t *vm, char *name, vlib_node_function_t *f, u32 log2_n_stack_bytes)
Create a vlib process.
static void * vlib_frame_vector_args(vlib_frame_t *f)
Get pointer to frame vector data.
vlib_global_main_t vlib_global_main
struct _vlib_node_registration vlib_node_registration_t
u16 current_length
Nbytes between current data and the end of this buffer.
static f64 vlib_process_wait_for_event_or_clock(vlib_main_t *vm, f64 dt)
Suspend a cooperative multi-tasking thread Waits for an event, or for the indicated number of seconds...
static void lacp_elog_start_event(void)
static void vlib_set_next_frame_buffer(vlib_main_t *vm, vlib_node_runtime_t *node, u32 next_index, u32 buffer_index)
void ethernet_register_input_type(vlib_main_t *vm, ethernet_type_t type, u32 node_index)
static void lacp_elog_stop_event(void)
static vlib_node_registration_t lacp_input_node
(constructor) VLIB_REGISTER_NODE (lacp_input_node)
static char * lacp_error_strings[]
void lacp_periodic(vlib_main_t *vm)
void * vlib_add_trace(vlib_main_t *vm, vlib_node_runtime_t *r, vlib_buffer_t *b, u32 n_data_bytes)
static void * vlib_buffer_get_current(vlib_buffer_t *b)
Get pointer to current data to process.
vnet_interface_output_runtime_t * rt
lacp_state_struct lacp_state_array[]
#define clib_warning(format, args...)
static uword vlib_process_suspend_time_is_zero(f64 dt)
Returns TRUE if a process suspend time is less than 10us.
static uword lacp_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
#define foreach_lacp_error
vl_api_fib_path_type_t type
u32 lacp_process_node_index
VLIB buffer representation.
#define VLIB_REGISTER_NODE(x,...)
static uword lacp_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)