|
static_always_inline void | vlib_process_start_switch_stack (vlib_main_t *vm, vlib_process_t *p) |
|
static_always_inline void | vlib_process_finish_switch_stack (vlib_main_t *vm) |
|
static vlib_node_t * | vlib_get_node (vlib_main_t *vm, u32 i) |
| Get vlib node by index. More...
|
|
static vlib_node_t * | vlib_get_next_node (vlib_main_t *vm, u32 node_index, u32 next_index) |
| Get vlib node by graph arc (next) index. More...
|
|
static vlib_node_runtime_t * | vlib_node_get_runtime (vlib_main_t *vm, u32 node_index) |
| Get node runtime by node index. More...
|
|
static void * | vlib_node_get_runtime_data (vlib_main_t *vm, u32 node_index) |
| Get node runtime private data by node index. More...
|
|
static void | vlib_node_set_runtime_data (vlib_main_t *vm, u32 node_index, void *runtime_data, u32 n_runtime_data_bytes) |
| Set node runtime private data. More...
|
|
static void | vlib_node_set_state (vlib_main_t *vm, u32 node_index, vlib_node_state_t new_state) |
| Set node dispatch state. More...
|
|
static vlib_node_state_t | vlib_node_get_state (vlib_main_t *vm, u32 node_index) |
| Get node dispatch state. More...
|
|
static void | vlib_node_set_flag (vlib_main_t *vm, u32 node_index, u16 flag, u8 enable) |
|
static void | vlib_node_set_interrupt_pending (vlib_main_t *vm, u32 node_index) |
|
static vlib_process_t * | vlib_get_process_from_node (vlib_main_t *vm, vlib_node_t *node) |
|
static vlib_frame_t * | vlib_get_frame (vlib_main_t *vm, vlib_frame_t *f) |
|
static void | vlib_frame_no_append (vlib_frame_t *f) |
|
static u32 | vlib_frame_vector_byte_offset (u32 scalar_size) |
|
static void * | vlib_frame_vector_args (vlib_frame_t *f) |
| Get pointer to frame vector data. More...
|
|
static void * | vlib_frame_scalar_args (vlib_frame_t *f) |
| Get pointer to frame scalar data. More...
|
|
static vlib_next_frame_t * | vlib_node_runtime_get_next_frame (vlib_main_t *vm, vlib_node_runtime_t *n, u32 next_index) |
|
static vlib_next_frame_t * | vlib_node_get_next_frame (vlib_main_t *vm, u32 node_index, u32 next_index) |
| Get pointer to frame by (node_index , next_index ). More...
|
|
vlib_frame_t * | vlib_get_next_frame_internal (vlib_main_t *vm, vlib_node_runtime_t *node, u32 next_index, u32 alloc_new_frame) |
|
void | vlib_put_next_frame (vlib_main_t *vm, vlib_node_runtime_t *r, u32 next_index, u32 n_packets_left) |
| Release pointer to next frame vector data. More...
|
|
static void | vlib_set_next_frame_buffer (vlib_main_t *vm, vlib_node_runtime_t *node, u32 next_index, u32 buffer_index) |
|
vlib_frame_t * | vlib_get_frame_to_node (vlib_main_t *vm, u32 to_node_index) |
|
void | vlib_put_frame_to_node (vlib_main_t *vm, u32 to_node_index, vlib_frame_t *f) |
|
static uword | vlib_in_process_context (vlib_main_t *vm) |
|
static vlib_process_t * | vlib_get_current_process (vlib_main_t *vm) |
|
static uword | vlib_current_process (vlib_main_t *vm) |
|
static u32 | vlib_get_current_process_node_index (vlib_main_t *vm) |
|
static uword | vlib_process_suspend_time_is_zero (f64 dt) |
| Returns TRUE if a process suspend time is less than 10us. More...
|
|
static uword | vlib_process_suspend (vlib_main_t *vm, f64 dt) |
| Suspend a vlib cooperative multi-tasking thread for a period of time. More...
|
|
static void | vlib_process_free_event_type (vlib_process_t *p, uword t, uword is_one_time_event) |
|
static void | vlib_process_maybe_free_event_type (vlib_process_t *p, uword t) |
|
static void * | vlib_process_get_event_data (vlib_main_t *vm, uword *return_event_type_opaque) |
|
static void | vlib_process_put_event_data (vlib_main_t *vm, void *event_data) |
|
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, or a timeout indication. More...
|
|
static uword | vlib_process_get_events_helper (vlib_process_t *p, uword t, uword **data_vector) |
|
static uword | vlib_process_get_events_with_type (vlib_main_t *vm, uword **data_vector, uword with_type_opaque) |
|
static uword * | vlib_process_wait_for_event (vlib_main_t *vm) |
|
static uword | vlib_process_wait_for_one_time_event (vlib_main_t *vm, uword **data_vector, uword with_type_index) |
|
static uword | vlib_process_wait_for_event_with_type (vlib_main_t *vm, uword **data_vector, uword with_type_opaque) |
|
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 to elapse. More...
|
|
static vlib_process_event_type_t * | vlib_process_new_event_type (vlib_process_t *p, uword with_type_opaque) |
|
static uword | vlib_process_create_one_time_event (vlib_main_t *vm, uword node_index, uword with_type_opaque) |
|
static void | vlib_process_delete_one_time_event (vlib_main_t *vm, uword node_index, uword t) |
|
static void * | vlib_process_signal_event_helper (vlib_node_main_t *nm, vlib_node_t *n, vlib_process_t *p, uword t, uword n_data_elts, uword n_data_elt_bytes) |
|
static void * | vlib_process_signal_event_data (vlib_main_t *vm, uword node_index, uword type_opaque, uword n_data_elts, uword n_data_elt_bytes) |
|
static void * | vlib_process_signal_event_at_time (vlib_main_t *vm, f64 dt, uword node_index, uword type_opaque, uword n_data_elts, uword n_data_elt_bytes) |
|
static void * | vlib_process_signal_one_time_event_data (vlib_main_t *vm, uword node_index, uword type_index, uword n_data_elts, uword n_data_elt_bytes) |
|
static void | vlib_process_signal_event (vlib_main_t *vm, uword node_index, uword type_opaque, uword data) |
|
static void | vlib_process_signal_event_pointer (vlib_main_t *vm, uword node_index, uword type_opaque, void *data) |
|
static void | vlib_process_signal_event_mt (vlib_main_t *vm, uword node_index, uword type_opaque, uword data) |
| Signal event to process from any thread. More...
|
|
static void | vlib_process_signal_one_time_event (vlib_main_t *vm, uword node_index, uword type_index, uword data) |
|
static void | vlib_signal_one_time_waiting_process (vlib_main_t *vm, vlib_one_time_waiting_process_t *p) |
|
static void | vlib_signal_one_time_waiting_process_vector (vlib_main_t *vm, vlib_one_time_waiting_process_t **wps) |
|
static void | vlib_current_process_wait_for_one_time_event (vlib_main_t *vm, vlib_one_time_waiting_process_t *p) |
|
static void | vlib_current_process_wait_for_one_time_event_vector (vlib_main_t *vm, vlib_one_time_waiting_process_t **wps) |
|
static u32 | vlib_node_runtime_update_main_loop_vector_stats (vlib_main_t *vm, vlib_node_runtime_t *node, uword n_vectors) |
|
static f64 | vlib_node_vectors_per_main_loop_as_float (vlib_main_t *vm, u32 node_index) |
|
static u32 | vlib_node_vectors_per_main_loop_as_integer (vlib_main_t *vm, u32 node_index) |
|
void | vlib_frame_free (vlib_main_t *vm, vlib_node_runtime_t *r, vlib_frame_t *f) |
|
uword | vlib_node_get_next (vlib_main_t *vm, uword node, uword next_node) |
|
uword | vlib_node_add_next_with_slot (vlib_main_t *vm, uword node, uword next_node, uword slot) |
|
static uword | vlib_node_add_next (vlib_main_t *vm, uword node, uword next_node) |
|
uword | vlib_node_add_named_next_with_slot (vlib_main_t *vm, uword node, char *next_name, uword slot) |
|
static uword | vlib_node_add_named_next (vlib_main_t *vm, uword node, char *name) |
|
void | vlib_node_get_nodes (vlib_main_t *vm, u32 max_threads, int include_stats, int barrier_sync, vlib_node_t ****node_dupsp, vlib_main_t ***stat_vmsp) |
| Get list of nodes. More...
|
|
vlib_node_t * | vlib_get_node_by_name (vlib_main_t *vm, u8 *name) |
|
void | vlib_node_rename (vlib_main_t *vm, u32 node_index, char *fmt,...) |
|
u32 | vlib_register_node (vlib_main_t *vm, vlib_node_registration_t *r) |
|
void | vlib_register_all_node_march_variants (vlib_main_t *vm) |
|
void | vlib_register_all_static_nodes (vlib_main_t *vm) |
|
void | vlib_start_process (vlib_main_t *vm, uword process_index) |
|
void | vlib_node_sync_stats (vlib_main_t *vm, vlib_node_t *n) |
|
void | vlib_node_runtime_sync_stats (vlib_main_t *vm, vlib_node_runtime_t *r, uword n_calls, uword n_vectors, uword n_clocks) |
|
void | vlib_node_runtime_sync_stats_node (vlib_node_t *n, vlib_node_runtime_t *r, uword n_calls, uword n_vectors, uword n_clocks) |
|
clib_error_t * | vlib_node_main_init (vlib_main_t *vm) |
|
static void | vlib_node_increment_counter (vlib_main_t *vm, u32 node_index, u32 counter_index, u64 increment) |
|
u32 | vlib_process_create (vlib_main_t *vm, char *name, vlib_node_function_t *f, u32 log2_n_stack_bytes) |
| Create a vlib process. More...
|
|
static int | vlib_node_set_dispatch_wrapper (vlib_main_t *vm, vlib_node_function_t *fn) |
|
int | vlib_node_set_march_variant (vlib_main_t *vm, u32 node_index, clib_march_variant_type_t march_variant) |
|
vlib_node_function_t * | vlib_node_get_preferred_node_fn_variant (vlib_main_t *vm, vlib_node_fn_registration_t *regs) |
|
vlib node functions
Definition in file node_funcs.h.