|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
19 const u32 *idx1, *idx2;
142 clib_warning (
"Timeout on free timer index %u", timer_index);
172 uword *event_data = 0;
181 if (next_timer == ~0)
217 .name =
"vrrp-periodic-process",
218 .process_log2_n_stack_bytes = 17,
#define vec_reset_length(v)
Reset vector length to zero NULL-pointer tolerant.
#define VRRP_EVENT_VR_TIMER_UPDATE
int vrrp_adv_send(vrrp_vr_t *vr, int shutdown)
vlib_node_registration_t vrrp_periodic_node
(constructor) VLIB_REGISTER_NODE (vrrp_periodic_node)
static uword * vlib_process_wait_for_event(vlib_main_t *vm)
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
void vrrp_vr_timer_timeout(u32 timer_index)
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
vrrp_vr_timer_t * vr_timers
#define vec_delete(V, N, M)
Delete N elements starting at element M.
vrrp_vr_runtime_t runtime
void vrrp_vr_transition(vrrp_vr_t *vr, vrrp_vr_state_t new_state, void *data)
static void vlib_process_signal_event(vlib_main_t *vm, uword node_index, uword type_opaque, uword data)
#define pool_put_index(p, i)
Free pool element with given index.
void vrrp_vr_timer_set(vrrp_vr_t *vr, vrrp_vr_timer_type_t type)
#define pool_is_free_index(P, I)
Use free bitmap to query whether given index is free.
#define vec_elt(v, i)
Get vector value at index i.
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,...
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant)
#define vec_add1(V, E)
Add 1 element to end of vector (unspecified alignment).
static uword vrrp_periodic_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
void vrrp_vr_timer_cancel(vrrp_vr_t *vr)
enum vrrp_vr_timer_type vrrp_vr_timer_type_t
static int vrrp_vr_timer_compare(const void *v1, const void *v2)
#define pool_get(P, E)
Allocate an object E from a pool P (unspecified alignment).
struct _vlib_node_registration vlib_node_registration_t
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...
#define vec_sort_with_function(vec, f)
Sort a vector using the supplied element comparison function.
static vlib_main_t * vlib_get_main(void)
vnet_interface_output_runtime_t * rt
@ VRRP_VR_TIMER_MASTER_DOWN
#define clib_warning(format, args...)
static f64 vlib_time_now(vlib_main_t *vm)
vrrp_vr_timer_type_t type
vl_api_fib_path_type_t type
static u32 vrrp_vr_timer_get_next(void)
#define vec_foreach_backwards(var, vec)
Vector iterator (reverse)
#define VLIB_REGISTER_NODE(x,...)