- vlib_cli_output (vm, "%s", vpe_version_string);
- if (unformat (input, "verbose")){
- vlib_cli_output (vm, "%s", vpe_dir_string);
- vlib_cli_output (vm, "%s", vpe_compiler);
- vlib_cli_output (vm, "DPDK version is %s", rte_version());
- }
+ if (unformat (input, "verbose"))
+ {
+#define _(a,b,c) vlib_cli_output (vm, "%-25s " b, a ":", c);
+ _("Version", "%s", "v" VPP_BUILD_VER);
+ _("Compiled by", "%s", VPP_BUILD_USER);
+ _("Compile host", "%s", VPP_BUILD_HOST);
+ _("Compile date", "%s", VPP_BUILD_DATE);
+ _("Compile location", "%s", VPP_BUILD_TOPDIR);
+ _("Compiler", "%s", vpe_compiler);
+ _("CPU model name", "%U", format_cpu_model_name);
+ _("CPU microarchitecture", "%U", format_cpu_uarch);
+ _("CPU flags", "%U", format_cpu_flags);
+ _("Current PID", "%d", getpid());
+#if DPDK > 0
+ _("DPDK Version", "%s", rte_version());
+ _("DPDK EAL init args", "%s", dpdk_main.eal_init_args_str);
+#endif
+#undef _
+ }
+ else
+ vlib_cli_output (vm, "%s", vpe_version_string);