LISP: add stats API/CLI
[vpp.git] / src / vnet / lisp-cp / one_api.c
index 8fdf082..ff00bf5 100644 (file)
 
 #include <vnet/vnet_msg_enum.h>
 
-#define vl_api_remote_locator_t_endian vl_noop_handler
-#define vl_api_remote_locator_t_print vl_noop_handler
-#define vl_api_local_locator_t_endian vl_noop_handler
-#define vl_api_local_locator_t_print vl_noop_handler
+#define vl_api_one_remote_locator_t_endian vl_noop_handler
+#define vl_api_one_remote_locator_t_print vl_noop_handler
+#define vl_api_one_local_locator_t_endian vl_noop_handler
+#define vl_api_one_local_locator_t_print vl_noop_handler
 
 #define vl_api_one_add_del_locator_set_t_endian vl_noop_handler
 #define vl_api_one_add_del_locator_set_t_print vl_noop_handler
@@ -90,13 +90,17 @@ _(SHOW_ONE_PITR, show_one_pitr)                                         \
 _(SHOW_ONE_MAP_REQUEST_MODE, show_one_map_request_mode)                 \
 _(ONE_USE_PETR, one_use_petr)                                           \
 _(SHOW_ONE_USE_PETR, show_one_use_petr)                                 \
+_(SHOW_ONE_STATS_ENABLE_DISABLE, show_one_stats_enable_disable)         \
+_(ONE_STATS_ENABLE_DISABLE, one_stats_enable_disable)                   \
+_(ONE_STATS_DUMP, one_stats_dump)                                       \
+
 
 static locator_t *
-unformat_one_locs (vl_api_remote_locator_t * rmt_locs, u32 rloc_num)
+unformat_one_locs (vl_api_one_remote_locator_t * rmt_locs, u32 rloc_num)
 {
   u32 i;
   locator_t *locs = 0, loc;
-  vl_api_remote_locator_t *r;
+  vl_api_one_remote_locator_t *r;
 
   for (i = 0; i < rloc_num; i++)
     {
@@ -121,7 +125,7 @@ vl_api_one_add_del_locator_set_t_handler (vl_api_one_add_del_locator_set_t *
   int rv = 0;
   vnet_lisp_add_del_locator_set_args_t _a, *a = &_a;
   locator_t locator;
-  vl_api_local_locator_t *ls_loc;
+  vl_api_one_local_locator_t *ls_loc;
   u32 ls_index = ~0, locator_num;
   u8 *locator_name = NULL;
   int i;
@@ -1256,6 +1260,37 @@ vl_api_show_one_pitr_t_handler (vl_api_show_one_pitr_t * mp)
   /* *INDENT-ON* */
 }
 
+static void
+  vl_api_show_one_stats_enable_disable_t_handler
+  (vl_api_show_one_stats_enable_disable_t * mp)
+{
+  vl_api_show_one_stats_enable_disable_reply_t *rmp = NULL;
+  vnet_api_error_t rv = 0;
+
+  /* *INDENT-OFF* */
+  REPLY_MACRO2 (VL_API_SHOW_ONE_STATS_ENABLE_DISABLE_REPLY,
+  ({
+    rmp->is_en = vnet_lisp_stats_enable_disable_state ();
+  }));
+  /* *INDENT-ON* */
+}
+
+static void
+  vl_api_one_stats_enable_disable_t_handler
+  (vl_api_one_stats_enable_disable_t * mp)
+{
+  vl_api_one_enable_disable_reply_t *rmp = NULL;
+
+  vnet_api_error_t rv = vnet_lisp_stats_enable_disable (mp->is_en);
+  REPLY_MACRO (VL_API_ONE_ENABLE_DISABLE_REPLY);
+}
+
+static void
+vl_api_one_stats_dump_t_handler (vl_api_one_stats_dump_t * mp)
+{
+
+}
+
 /*
  * one_api_hookup
  * Add vpe's API message handlers to the table.
@@ -1271,7 +1306,7 @@ static void
 setup_message_id_table (api_main_t * am)
 {
 #define _(id,n,crc) vl_msg_api_add_msg_name_crc (am, #n "_" #crc, id);
-  foreach_vl_msg_name_crc_lisp;
+  foreach_vl_msg_name_crc_one;
 #undef _
 }