X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlib%2Funix%2Fmain.c;h=f73f9ca325fff99aa3c57940c3363d5bc236b97a;hb=6ffb7c61899eb782416cbd2f117042a583f189f7;hp=9dde666bbefd64484f34aeed64acf653a17d2857;hpb=fc639ff2d7abd8599f59078fac99f731026215b3;p=vpp.git diff --git a/src/vlib/unix/main.c b/src/vlib/unix/main.c index 9dde666bbef..f73f9ca325f 100644 --- a/src/vlib/unix/main.c +++ b/src/vlib/unix/main.c @@ -93,8 +93,8 @@ unsetup_signal_handlers (int sig) dangerous to vec_resize it when crashing, mheap itself might have been corrupted already */ static u8 *syslog_msg = 0; -static int last_signum = 0; -static uword last_faulting_address = 0; +int vlib_last_signum = 0; +uword vlib_last_faulting_address = 0; static void unix_signal_handler (int signum, siginfo_t * si, ucontext_t * uc) @@ -102,8 +102,8 @@ unix_signal_handler (int signum, siginfo_t * si, ucontext_t * uc) uword fatal = 0; /* These come in handy when looking at core files from optimized images */ - last_signum = signum; - last_faulting_address = (uword) si->si_addr; + vlib_last_signum = signum; + vlib_last_faulting_address = (uword) si->si_addr; syslog_msg = format (syslog_msg, "received signal %U, PC %U", format_signal, signum, format_ucontext_pc, uc); @@ -402,6 +402,10 @@ unix_config (vlib_main_t * vm, unformat_input_t * input) um->flags |= UNIX_FLAG_NODAEMON; else if (unformat (input, "nosyslog")) um->flags |= UNIX_FLAG_NOSYSLOG; + else if (unformat (input, "nocolor")) + um->flags |= UNIX_FLAG_NOCOLOR; + else if (unformat (input, "nobanner")) + um->flags |= UNIX_FLAG_NOBANNER; else if (unformat (input, "cli-prompt %s", &cli_prompt)) vlib_unix_cli_set_prompt (cli_prompt); else @@ -576,6 +580,12 @@ unix_config (vlib_main_t * vm, unformat_input_t * input) * when invoking VPP applications from a process monitor which * pipe stdout/stderr to a dedicated logger service. * + * @cfgcmd{nocolor} + * Do not use colors in outputs. + * * + * @cfgcmd{nobanner} + * Do not display startup banner. + * * @cfgcmd{exec, <filename>} * @par startup-config <filename> * Read startup operational configuration from @c filename. @@ -682,7 +692,7 @@ vlib_thread_stack_init (uword thread_index) int vlib_unix_main (int argc, char *argv[]) { - vlib_main_t *vm = &vlib_global_main; /* one and only time for this! */ + vlib_main_t *vm = vlib_get_first_main (); /* one and only time for this! */ unformat_input_t input; clib_error_t *e; int i; @@ -696,6 +706,11 @@ vlib_unix_main (int argc, char *argv[]) clib_time_init (&vm->clib_time); + /* 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); + unformat_init_command_line (&input, (char **) vm->argv); if ((e = vlib_plugin_config (vm, &input))) {