done:
if (ad->flags & AVF_DEVICE_F_ELOG)
{
- /* *INDENT-OFF* */
ELOG_TYPE_DECLARE (el) =
{
.format = "avf[%d] aq enq: s_flags 0x%x r_flags 0x%x opcode 0x%x "
u16 datalen;
u16 retval;
} *ed;
- ed = ELOG_DATA (&vm->elog_main, el);
- ed->dev_instance = ad->dev_instance;
- ed->s_flags = dc.flags;
- ed->r_flags = d->flags;
- ed->opcode = dc.opcode;
- ed->datalen = dc.datalen;
- ed->retval = d->retval;
- /* *INDENT-ON* */
+ ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+ ed->dev_instance = ad->dev_instance;
+ ed->s_flags = dc.flags;
+ ed->r_flags = d->flags;
+ ed->opcode = dc.opcode;
+ ed->datalen = dc.datalen;
+ ed->retval = d->retval;
}
return err;
if (ad->flags & AVF_DEVICE_F_ELOG)
{
- /* *INDENT-OFF* */
ELOG_TYPE_DECLARE (el) =
{
.format = "avf[%d] rx ctl reg write: reg 0x%x val 0x%x ",
u32 reg;
u32 val;
} *ed;
- ed = ELOG_DATA (&vm->elog_main, el);
- ed->dev_instance = ad->dev_instance;
- ed->reg = reg;
- ed->val = val;
- /* *INDENT-ON* */
+ ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+ ed->dev_instance = ad->dev_instance;
+ ed->reg = reg;
+ ed->val = val;
}
return err;
}
if (ad->flags & AVF_DEVICE_F_ELOG)
{
- /* *INDENT-OFF* */
ELOG_TYPE_DECLARE (el) =
{
.format = "avf[%d] send to pf: v_opcode %s (%d) v_retval 0x%x",
u32 v_opcode_val;
u32 v_retval;
} *ed;
- ed = ELOG_DATA (&vm->elog_main, el);
- ed->dev_instance = ad->dev_instance;
- ed->v_opcode = op;
- ed->v_opcode_val = op;
- ed->v_retval = d->v_retval;
- /* *INDENT-ON* */
+ ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+ ed->dev_instance = ad->dev_instance;
+ ed->v_opcode = op;
+ ed->v_opcode_val = op;
+ ed->v_retval = d->v_retval;
}
return err;
}
u8 link_status;
u32 link_speed;
} *ed;
- ed = ELOG_DATA (&vm->elog_main, el);
- ed->dev_instance = ad->dev_instance;
- ed->link_status = link_up;
- ed->link_speed = mbps;
+ ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+ ed->dev_instance = ad->dev_instance;
+ ed->link_status = link_up;
+ ed->link_speed = mbps;
}
}
else
u32 event;
u32 severity;
} *ed;
- ed = ELOG_DATA (&vm->elog_main, el);
- ed->dev_instance = ad->dev_instance;
- ed->event = e->event;
- ed->severity = e->severity;
+ ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+ ed->dev_instance = ad->dev_instance;
+ ed->event = e->event;
+ ed->severity = e->severity;
}
}
}
u32 icr0;
} *ed;
- ed = ELOG_DATA (&vm->elog_main, el);
+ ed = ELOG_DATA (&vlib_global_main.elog_main, el);
ed->dev_instance = ad->dev_instance;
ed->icr0 = icr0;
}
u16 line;
} *ed;
- ed = ELOG_DATA (&vm->elog_main, el);
+ ed = ELOG_DATA (&vlib_global_main.elog_main, el);
ed->dev_instance = ad->dev_instance;
ed->line = line;
}
if (LINK_STATE_ELOGS)
{
- vlib_main_t *vm = vlib_get_main ();
ELOG_TYPE_DECLARE (e) =
{
.format =
u8 old_link_state;
u8 new_link_state;
} *ed;
- ed = ELOG_DATA (&vm->elog_main, e);
+ ed = ELOG_DATA (&vlib_global_main.elog_main, e);
ed->sw_if_index = xd->sw_if_index;
ed->admin_up = (xd->flags & DPDK_DEVICE_FLAG_ADMIN_UP) != 0;
ed->old_link_state = (u8)
{
if (LINK_STATE_ELOGS)
{
- vlib_main_t *vm = vlib_get_main ();
-
ELOG_TYPE_DECLARE (e) =
{
.format =
u32 sw_if_index;
u32 flags;
} *ed;
- ed = ELOG_DATA (&vm->elog_main, e);
+ ed = ELOG_DATA (&vlib_global_main.elog_main, e);
ed->sw_if_index = xd->sw_if_index;
ed->flags = hw_flags;
}
.format_args = "i4",
};
/* *INDENT-ON* */
- elog (&vm->elog_main, &e, 0xdefec8ed);
+ elog (&vlib_global_main.elog_main, &e, 0xdefec8ed);
*p = 0xdeadbeef;
{
u32 c;
} *ed;
- ed = ELOG_DATA (&vm->elog_main, e);
- ed->c = elog_string (&vm->elog_main, "%v", c->path);
+ ed = ELOG_DATA (vlib_get_elog_main (), e);
+ ed->c = elog_string (vlib_get_elog_main (), "%v", c->path);
}
if (!c->is_mp_safe)
{
u32 c, err;
} *ed;
- ed = ELOG_DATA (&vm->elog_main, e);
- ed->c = elog_string (&vm->elog_main, "%v", c->path);
+ ed = ELOG_DATA (vlib_get_elog_main (), e);
+ ed->c = elog_string (vlib_get_elog_main (), "%v", c->path);
if (c_error)
{
vec_add1 (c_error->what, 0);
- ed->err =
- elog_string (&vm->elog_main, (char *) c_error->what);
+ ed->err = elog_string (vlib_get_elog_main (),
+ (char *) c_error->what);
_vec_len (c_error->what) -= 1;
}
else
- ed->err = elog_string (&vm->elog_main, "OK");
+ ed->err = elog_string (vlib_get_elog_main (), "OK");
}
if (c_error)
*/
if (dispatch || circuit)
{
- elog_main_t *em = &vm->elog_main;
+ elog_main_t *em = &vlib_global_main.elog_main;
em->n_total_events_disable_limit =
em->n_total_events + vec_len (em->event_ring);
{
if (VLIB_ELOG_MAIN_LOOP > 0 && increment > 0)
{
- elog_main_t *em = &vm->elog_main;
+ elog_main_t *em = vlib_get_elog_main ();
elog (em, vec_elt_at_index (vm->error_elog_event_types, counter),
increment);
}
return &vlib_thread_main;
}
+always_inline elog_main_t *
+vlib_get_elog_main ()
+{
+ vlib_main_t *vm = vlib_get_first_main ();
+ return &vm->elog_main;
+}
+
#endif /* included_vlib_global_funcs_h_ */
/*
u32 string_index;
} *ed;
/* *INDENT-ON* */
- ed = ELOG_DATA (&vm->elog_main, ee);
+ ed = ELOG_DATA (&vlib_global_main.elog_main, ee);
ed->log_level = level;
- ed->string_index = elog_string (&vm->elog_main, "%v", e->string);
+ ed->string_index =
+ elog_string (&vlib_global_main.elog_main, "%v", e->string);
}
lm->next = (lm->next + 1) % lm->size;
vlib_cli_elog_clear (vlib_main_t * vm,
unformat_input_t * input, vlib_cli_command_t * cmd)
{
- elog_reset_buffer (&vm->elog_main);
+ elog_reset_buffer (&vlib_global_main.elog_main);
return 0;
}
elog_save_buffer (vlib_main_t * vm,
unformat_input_t * input, vlib_cli_command_t * cmd)
{
- elog_main_t *em = &vm->elog_main;
+ elog_main_t *em = &vlib_global_main.elog_main;
char *file, *chroot_file;
clib_error_t *error = 0;
elog_stop (vlib_main_t * vm,
unformat_input_t * input, vlib_cli_command_t * cmd)
{
- elog_main_t *em = &vm->elog_main;
+ elog_main_t *em = &vlib_global_main.elog_main;
em->n_total_events_disable_limit = em->n_total_events;
elog_restart (vlib_main_t * vm,
unformat_input_t * input, vlib_cli_command_t * cmd)
{
- elog_main_t *em = &vm->elog_main;
+ elog_main_t *em = &vlib_global_main.elog_main;
em->n_total_events_disable_limit = ~0;
elog_resize_command_fn (vlib_main_t * vm,
unformat_input_t * input, vlib_cli_command_t * cmd)
{
- elog_main_t *em = &vm->elog_main;
+ elog_main_t *em = &vlib_global_main.elog_main;
u32 tmp;
/* Stop the parade */
- elog_reset_buffer (&vm->elog_main);
+ elog_reset_buffer (em);
if (unformat (input, "%d", &tmp))
{
static void
elog_show_buffer_internal (vlib_main_t * vm, u32 n_events_to_show)
{
- elog_main_t *em = &vm->elog_main;
+ elog_main_t *em = &vlib_global_main.elog_main;
elog_event_t *e, *es;
f64 dt;
u64 time, u32 n_vectors, u32 is_return)
{
vlib_main_t *evm = &vlib_global_main;
- elog_main_t *em = &evm->elog_main;
+ elog_main_t *em = vlib_get_elog_main ();
int enabled = evm->elog_trace_graph_dispatch |
evm->elog_trace_graph_circuit;
static void
elog_post_mortem_dump (void)
{
- vlib_main_t *vm = &vlib_global_main;
- elog_main_t *em = &vm->elog_main;
+ elog_main_t *em = vlib_get_elog_main ();
u8 *filename;
clib_error_t *error;
if (vm->configured_elog_ring_size &&
vm->configured_elog_ring_size != vm->elog_main.event_ring_size)
elog_resize (&vm->elog_main, vm->configured_elog_ring_size);
- vl_api_set_elog_main (&vm->elog_main);
+ vl_api_set_elog_main (vlib_get_elog_main ());
(void) vl_api_set_elog_trace_api_messages (1);
/* Default name. */
vec_free (t->format);
t->format = (char *) format (0, "%v-return: %%d%c", n->name, 0);
- n->name_elog_string = elog_string (&vm->elog_main, "%v%c", n->name, 0);
+ n->name_elog_string =
+ elog_string (&vlib_global_main.elog_main, "%v%c", n->name, 0);
}
void
/* Set up the main thread */
vec_add2_aligned (vlib_worker_threads, w, 1, CLIB_CACHE_LINE_BYTES);
w->elog_track.name = "main thread";
- elog_track_register (&vm->elog_main, &w->elog_track);
+ elog_track_register (vlib_get_elog_main (), &w->elog_track);
if (vec_len (tm->thread_prefix))
{
w->elog_track.name =
(char *) format (0, "%s %d", tr->name, k + 1);
vec_add1 (w->elog_track.name, 0);
- elog_track_register (&vm->elog_main, &w->elog_track);
+ elog_track_register (vlib_get_elog_main (), &w->elog_track);
if (tr->no_data_structure_clone)
continue;
(char *) format (0, "%s %d", tr->name, j + 1);
w->registration = tr;
vec_add1 (w->elog_track.name, 0);
- elog_track_register (&vm->elog_main, &w->elog_track);
+ elog_track_register (vlib_get_elog_main (), &w->elog_track);
}
}
}
u32 thread_index;
} __clib_packed *ed;
- ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e,
- w->elog_track);
+ ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);
ed->thread_index = thread_index;
}
u32 duration;
} __clib_packed *ed;
- ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e,
- w->elog_track);
+ ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);
ed->thread_index = thread_index;
ed->duration = (int) (1000000.0 * t);
}
/* Turn on the event logger at the first possible moment */
vm->configured_elog_ring_size = 128 << 10;
- elog_init (&vm->elog_main, vm->configured_elog_ring_size);
- elog_enable_disable (&vm->elog_main, 1);
+ elog_init (vlib_get_elog_main (), vm->configured_elog_ring_size);
+ elog_enable_disable (vlib_get_elog_main (), 1);
unformat_init_command_line (&input, (char **) vm->argv);
if ((e = vlib_plugin_config (vm, &input)))
return ((restarts & VL_API_EPOCH_MASK) == epoch);
}
-#define VL_MEM_API_LOG_Q_LEN(fmt,qlen) \
-if (TRACE_VLIB_MEMORY_QUEUE) \
- do { \
- ELOG_TYPE_DECLARE (e) = { \
- .format = fmt, \
- .format_args = "i4", \
- }; \
- struct { u32 len; } *ed; \
- ed = ELOG_DATA (&vm->elog_main, e); \
- ed->len = qlen; \
- } while (0)
+#define VL_MEM_API_LOG_Q_LEN(fmt, qlen) \
+ if (TRACE_VLIB_MEMORY_QUEUE) \
+ do \
+ { \
+ ELOG_TYPE_DECLARE (e) = { \
+ .format = fmt, \
+ .format_args = "i4", \
+ }; \
+ struct \
+ { \
+ u32 len; \
+ } * ed; \
+ ed = ELOG_DATA (&vlib_global_main.elog_main, e); \
+ ed->len = qlen; \
+ } \
+ while (0)
#endif /* SRC_VLIBMEMORY_MEMORY_API_H_ */
{
u32 s[2];
} *ed;
- ed = ELOG_DATA (&vm->elog_main, e);
- ed->s[0] = elog_string (&vm->elog_main, log_level_strings[priority]);
- ed->s[1] = elog_string (&vm->elog_main, (char *) what);
+ ed = ELOG_DATA (vlib_get_elog_main (), e);
+ ed->s[0] =
+ elog_string (vlib_get_elog_main (), log_level_strings[priority]);
+ ed->s[1] = elog_string (vlib_get_elog_main (), (char *) what);
}
va_end (va);
return;
u8 *str = format (0, "%U", format_session, s, 3);
if (do_elog && s->session_state != SESSION_STATE_LISTENING)
{
- elog_main_t *em = &vm->elog_main;
+ elog_main_t *em = &vlib_global_main.elog_main;
transport_connection_t *tc;
f64 dt;