VPP-376: Refactor LISP dump API + VAT
[vpp.git] / vlib-api / vlibmemory / memory_vlib.c
index 2212b46..22ca0f3 100644 (file)
@@ -644,9 +644,9 @@ vl_api_show_histogram_command (vlib_main_t * vm,
 
 /* *INDENT-OFF* */
 VLIB_CLI_COMMAND (cli_show_api_histogram_command, static) = {
-  .path = "show api histogram",
-  .short_help = "show api histogram",
-  .function = vl_api_show_histogram_command,
+    .path = "show api histogram",
+    .short_help = "show api histogram",
+    .function = vl_api_show_histogram_command,
 };
 /* *INDENT-ON* */
 
@@ -907,6 +907,41 @@ socket_clients:
   return 0;
 }
 
+static clib_error_t *
+vl_api_status_command (vlib_main_t * vm,
+                      unformat_input_t * input, vlib_cli_command_t * cli_cmd)
+{
+  api_main_t *am = &api_main;
+
+  // check if rx_trace and tx_trace are not null pointers
+
+  if (am->rx_trace == 0)
+    {
+      vlib_cli_output (vm, "RX Trace disabled\n");
+    }
+  else
+    {
+      if (am->rx_trace->enabled == 0)
+       vlib_cli_output (vm, "RX Trace disabled\n");
+      else
+       vlib_cli_output (vm, "RX Trace enabled\n");
+    }
+
+  if (am->tx_trace == 0)
+    {
+      vlib_cli_output (vm, "TX Trace disabled\n");
+    }
+  else
+    {
+      if (am->tx_trace->enabled == 0)
+       vlib_cli_output (vm, "TX Trace disabled\n");
+      else
+       vlib_cli_output (vm, "TX Trace enabled\n");
+    }
+
+  return 0;
+}
+
 /* *INDENT-OFF* */
 VLIB_CLI_COMMAND (cli_show_api_command, static) = {
     .path = "show api",
@@ -930,6 +965,14 @@ VLIB_CLI_COMMAND (cli_show_api_clients_command, static) = {
 };
 /* *INDENT-ON* */
 
+/* *INDENT-OFF* */
+VLIB_CLI_COMMAND (cli_show_api_status_command, static) = {
+    .path = "show api status",
+    .short_help = "Show API trace status",
+    .function = vl_api_status_command,
+};
+/* *INDENT-ON* */
+
 static clib_error_t *
 vl_api_message_table_command (vlib_main_t * vm,
                              unformat_input_t * input,
@@ -1177,18 +1220,19 @@ vlibmemory_init (vlib_main_t * vm)
 {
   api_main_t *am = &api_main;
   svm_map_region_args_t _a, *a = &_a;
-  
+
   memset (a, 0, sizeof (*a));
   a->root_path = am->root_path;
   a->name = SVM_GLOBAL_REGION_NAME;
-  a->baseva = (am->global_baseva != 0) ? 
+  a->baseva = (am->global_baseva != 0) ?
     am->global_baseva : SVM_GLOBAL_REGION_BASEVA;
   a->size = (am->global_size != 0) ? am->global_size : SVM_GLOBAL_REGION_SIZE;
   a->flags = SVM_FLAGS_NODATA;
   a->uid = am->api_uid;
   a->gid = am->api_gid;
-  a->pvt_heap_size = (am->global_pvt_heap_size != 0) ? am->global_pvt_heap_size 
-    : SVM_PVT_MHEAP_SIZE;
+  a->pvt_heap_size =
+    (am->global_pvt_heap_size !=
+     0) ? am->global_pvt_heap_size : SVM_PVT_MHEAP_SIZE;
 
   svm_region_init_args (a);
   return 0;