Show DPDK EAL cmdline args in 'show version verbose' 30/330/1
authorDamjan Marion <damarion@cisco.com>
Tue, 16 Feb 2016 11:29:57 +0000 (12:29 +0100)
committerDamjan Marion <damarion@cisco.com>
Tue, 16 Feb 2016 12:07:20 +0000 (13:07 +0100)
Change-Id: I88a8038a36e7e5060f354cd66a2532ef8c996b67
Signed-off-by: Damjan Marion <damarion@cisco.com>
vnet/vnet/devices/dpdk/dpdk.h
vnet/vnet/devices/dpdk/init.c
vpp/app/version.c

index 2dab4ef..2a9d825 100644 (file)
@@ -322,6 +322,7 @@ typedef struct {
 
   /* Config stuff */
   u8 ** eal_init_args;
+  u8 * eal_init_args_str;
   u8 * eth_if_blacklist;
   u8 * eth_if_whitelist;
   u8 * uio_driver_name;
index 28a661f..db0b838 100644 (file)
@@ -1436,6 +1436,11 @@ dpdk_config (vlib_main_t * vm, unformat_input_t * input)
 
   vm = dm->vlib_main;
 
+  /* make copy of args as rte_eal_init tends to mess up with arg array */
+  for (i = 1; i < vec_len(dm->eal_init_args); i++)
+    dm->eal_init_args_str = format(dm->eal_init_args_str, "%s ",
+                                   dm->eal_init_args[i]);
+
   ret = rte_eal_init(vec_len(dm->eal_init_args), (char **) dm->eal_init_args);
 
   /* lazy umount hugepages */
index afd1e4a..1c1f7a6 100644 (file)
@@ -17,6 +17,8 @@
 
 #if DPDK > 0
 #include <rte_version.h>
+#include <vnet/vnet.h>
+#include <vnet/devices/dpdk/dpdk.h>
 #endif /* DPDK */
 
 static char * vpe_version_string = 
@@ -47,13 +49,16 @@ show_vpe_version_command_fn (vlib_main_t * vm,
                 vlib_cli_command_t * cmd)
 {
   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);
+  if (unformat (input, "verbose"))
+    {
+      vlib_cli_output (vm, "%s", vpe_dir_string);
+      vlib_cli_output (vm, "%s", vpe_compiler);
 #if DPDK > 0
-     vlib_cli_output (vm, "DPDK version is %s", rte_version());
+      vlib_cli_output (vm, "DPDK version is %s", rte_version());
+      vlib_cli_output (vm, "DPDK EAL init arguments: %v",
+                       dpdk_main.eal_init_args_str);
 #endif
-  }
+    }
   return 0;
 }