LISP: enhance binary part of some APIs
[vpp.git] / src / vpp / api / custom_dump.c
index 1964533..a4e9721 100644 (file)
@@ -238,6 +238,7 @@ static void *vl_api_sw_interface_set_l2_bridge_t_print
   FINISH;
 }
 
+#if DPDK > 0
 static void *vl_api_sw_interface_set_dpdk_hqos_pipe_t_print
   (vl_api_sw_interface_set_dpdk_hqos_pipe_t * mp, void *handle)
 {
@@ -287,6 +288,7 @@ static void *vl_api_sw_interface_set_dpdk_hqos_tctbl_t_print
 
   FINISH;
 }
+#endif
 
 static void *vl_api_bridge_domain_add_del_t_print
   (vl_api_bridge_domain_add_del_t * mp, void *handle)
@@ -436,7 +438,12 @@ static void *vl_api_tap_connect_t_print
     s = format (s, "tag %s ", mp->tag);
   if (memcmp (mp->mac_address, null_mac, 6))
     s = format (s, "mac %U ", format_ethernet_address, mp->mac_address);
-
+  if (mp->ip4_address_set)
+    s = format (s, "address %U/%d ", format_ip4_address, mp->ip4_address,
+               mp->ip4_mask_width);
+  if (mp->ip6_address_set)
+    s = format (s, "address %U/%d ", format_ip6_address, mp->ip6_address,
+               mp->ip6_mask_width);
   FINISH;
 }
 
@@ -909,8 +916,7 @@ static void *vl_api_sw_interface_ip6_set_link_local_address_t_print
 
   s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-  s = format (s, "%U/%d ", format_ip6_address, mp->address,
-             mp->address_length);
+  s = format (s, "%U ", format_ip6_address, mp->address);
 
   FINISH;
 }
@@ -2371,34 +2377,6 @@ format_lisp_flat_eid (u8 * s, va_list * args)
   return 0;
 }
 
-/** Used for transferring locators via VPP API */
-typedef CLIB_PACKED (struct
-                    {
-                    u8 is_ip4;
-            /**< is locator an IPv4 address */
-                    u8 priority;
-              /**< locator priority */
-                    u8 weight;
-              /**< locator weight */
-                    u8 addr[16];
-              /**< IPv4/IPv6 address */
-                    }) rloc_t;
-
-static u8 *
-format_rloc (u8 * s, va_list * args)
-{
-  rloc_t *rloc = va_arg (*args, rloc_t *);
-
-  if (rloc->is_ip4)
-    s = format (s, "%U ", format_ip4_address, rloc->addr);
-  else
-    s = format (s, "%U ", format_ip6_address, rloc->addr);
-
-  s = format (s, "p %d w %d", rloc->priority, rloc->weight);
-
-  return s;
-}
-
 static void *vl_api_lisp_add_del_remote_mapping_t_print
   (vl_api_lisp_add_del_remote_mapping_t * mp, void *handle)
 {
@@ -2426,12 +2404,6 @@ static void *vl_api_lisp_add_del_remote_mapping_t_print
 
   if (0 == rloc_num)
     s = format (s, "action %d", mp->action);
-  else
-    {
-      rloc_t *rloc = (rloc_t *) mp->rlocs;
-      for (i = 0; i < rloc_num; i++)
-       s = format (s, "%U ", format_rloc, &rloc[i]);
-    }
 
   FINISH;
 }
@@ -2547,31 +2519,11 @@ static void *vl_api_lisp_gpe_enable_disable_t_print
   FINISH;
 }
 
-typedef CLIB_PACKED (struct
-                    {
-                    u32 sw_if_index;
-                  /**< locator sw_if_index */
-                    u8 priority;
-              /**< locator priority */
-                    u8 weight;
-              /**< locator weight */
-                    }) ls_locator_t;
-
-static u8 *
-format_locator (u8 * s, va_list * args)
-{
-  ls_locator_t *l = va_arg (*args, ls_locator_t *);
-
-  return format (s, "sw_if_index %d p %d w %d",
-                l->sw_if_index, l->priority, l->weight);
-}
-
 static void *vl_api_lisp_add_del_locator_set_t_print
   (vl_api_lisp_add_del_locator_set_t * mp, void *handle)
 {
   u8 *s;
   u32 loc_num = 0, i;
-  ls_locator_t *locs;
 
   s = format (0, "SCRIPT: lisp_add_del_locator_set ");
 
@@ -2581,10 +2533,6 @@ static void *vl_api_lisp_add_del_locator_set_t_print
   s = format (s, "locator-set %s ", mp->locator_set_name);
 
   loc_num = clib_net_to_host_u32 (mp->locator_num);
-  locs = (ls_locator_t *) mp->locators;
-
-  for (i = 0; i < loc_num; i++)
-    s = format (s, "%U ", format_locator, &locs[i]);
 
   FINISH;
 }
@@ -2947,8 +2895,7 @@ _(lisp_map_resolver_dump)                                               \
 _(lisp_map_server_dump)                                                 \
 _(show_lisp_rloc_probe_state)                                           \
 _(show_lisp_map_register_state)                                         \
-_(show_lisp_map_request_mode)                                           \
-_(lisp_gpe_tunnel_dump)
+_(show_lisp_map_request_mode)
 
 #define _(f)                                                            \
 static void * vl_api_ ## f ## _t_print                                  \
@@ -3002,9 +2949,6 @@ _(BRIDGE_FLAGS, bridge_flags)                                           \
 _(CLASSIFY_ADD_DEL_TABLE, classify_add_del_table)                      \
 _(CLASSIFY_ADD_DEL_SESSION, classify_add_del_session)                  \
 _(SW_INTERFACE_SET_L2_BRIDGE, sw_interface_set_l2_bridge)              \
-_(SW_INTERFACE_SET_DPDK_HQOS_PIPE, sw_interface_set_dpdk_hqos_pipe)     \
-_(SW_INTERFACE_SET_DPDK_HQOS_SUBPORT, sw_interface_set_dpdk_hqos_subport)\
-_(SW_INTERFACE_SET_DPDK_HQOS_TCTBL, sw_interface_set_dpdk_hqos_tctbl)   \
 _(BRIDGE_DOMAIN_ADD_DEL, bridge_domain_add_del)                         \
 _(BRIDGE_DOMAIN_DUMP, bridge_domain_dump)                               \
 _(CLASSIFY_SET_INTERFACE_IP_TABLE, classify_set_interface_ip_table)    \
@@ -3096,7 +3040,6 @@ _(LISP_ADD_DEL_LOCATOR, lisp_add_del_locator)                           \
 _(LISP_EID_TABLE_DUMP, lisp_eid_table_dump)                             \
 _(LISP_EID_TABLE_MAP_DUMP, lisp_eid_table_map_dump)                     \
 _(LISP_EID_TABLE_VNI_DUMP, lisp_eid_table_vni_dump)                     \
-_(LISP_GPE_TUNNEL_DUMP, lisp_gpe_tunnel_dump)                           \
 _(LISP_MAP_RESOLVER_DUMP, lisp_map_resolver_dump)                       \
 _(LISP_MAP_SERVER_DUMP, lisp_map_server_dump)                           \
 _(LISP_LOCATOR_SET_DUMP, lisp_locator_set_dump)                         \
@@ -3128,6 +3071,18 @@ vl_msg_api_custom_dump_configure (api_main_t * am)
     = (void *) vl_api_##f##_t_print;
   foreach_custom_print_function;
 #undef _
+
+#if DPDK > 0
+  /*
+   * manually add DPDK hqos print handlers
+   */
+  am->msg_print_handlers[VL_API_SW_INTERFACE_SET_DPDK_HQOS_PIPE] =
+    (void *) vl_api_sw_interface_set_dpdk_hqos_pipe_t_print;
+  am->msg_print_handlers[VL_API_SW_INTERFACE_SET_DPDK_HQOS_SUBPORT] =
+    (void *) vl_api_sw_interface_set_dpdk_hqos_subport_t_print;
+  am->msg_print_handlers[VL_API_SW_INTERFACE_SET_DPDK_HQOS_TCTBL] =
+    (void *) vl_api_sw_interface_set_dpdk_hqos_tctbl_t_print;
+#endif
 }
 
 /*