api: API cleanup
[vpp.git] / src / vpp / api / vpe.api
index 488af17..3db34fe 100644 (file)
 /** \file
 
     This file defines vpe control-plane API messages which are generally
-    called through a shared memory interface. 
+    called through a shared memory interface.
 */
 
-option version = "1.1.0";
+option version = "1.6.1";
 
-/* 
+import "vpp/api/vpe_types.api";
+
+/*
  * Note: API placement cleanup in progress
  * If you're looking for interface APIs, please
  * see .../src/vnet/{interface.api,interface_api.c}
  * IP APIs: see .../src/vnet/ip/{ip.api, ip_api.c}
- * TAP APIs: see .../src/vnet/unix/{tap.api, tap_api.c}
  * VXLAN APIs: see .../src/vnet/vxlan/{vxlan.api, vxlan_api.c}
  * GENEVE APIs: see .../src/vnet/geneve/{geneve.api, geneve_api.c}
  * LLDP APIs: see .../src/vnet/lldp/{lldp.api, lldp_api.c}
  * AF-PACKET APIs: see ... /vnet/devices/af_packet/{af_packet.api, af_packet_api.c}
- * NETMAP APIs: see ... /src/vnet/devices/netmap/{netmap.api, netmap_api.c}
  * VHOST-USER APIs: see .../vnet/devices/virtio/{vhost_user.api, vhost_user_api.c}
  * VXLAN GPE APIs: see .../src/vnet/vxlan-gpe/{vxlan_gpe.api, vxlan_gpe_api.c}
  * GRE APIs: see .../src/vnet/gre/{gre.api, gre_api.c}
@@ -39,7 +39,6 @@ option version = "1.1.0";
  * L2TP APIs: see .../src/vnet/l2tp/{l2tp.api, l2tp_api.c}
  * BFD APIs: see .../src/vnet/bfd/{bfd.api, bfd_api.c}
  * IPSEC APIs: see .../src/vnet/ipsec/{ipsec.api, ipsec_api.c}
- * IPSEC-GRE APIs: see .../src/vnet/ipsec-gre/{ipsec_gre.api, ipsec_gre_api.c}
  * LISP APIs: see .../src/vnet/lisp/{lisp.api, lisp_api.c}
  * LISP-GPE APIs: see .../src/vnet/lisp-gpe/{lisp_gpe.api, lisp_gpe_api.c}
  * SESSION APIs: .../vnet/session/{session.api session_api.c}
@@ -50,7 +49,6 @@ option version = "1.1.0";
  * DHCP APIs: see ... /src/vnet/dhcp/{dhcp.api, dhcp_api.c}
  * COP APIs: see ... /src/vnet/cop/{cop.api, cop_api.c}
  * POLICER APIs: see ... /src/vnet/policer/{policer.api, policer_api.c}
- * STATS APIs: see .../src/vpp/stats/{stats.api, stats.c}
  * BIER APIs: see ... /src/vnet/policer/{bier.api, bier_api.c}
  */
 
@@ -93,8 +91,7 @@ define cli_inband
 {
   u32 client_index;
   u32 context;
-  u32 length;
-  u8 cmd[length];
+  string cmd[];
 };
 
 /** \brief vpe parser cli string response
@@ -112,8 +109,7 @@ define cli_inband_reply
 {
   u32 context;
   i32 retval;
-  u32 length;
-  u8 reply[length];
+  string reply[];
 };
 
 /** \brief Get node index using name request
@@ -125,7 +121,7 @@ define get_node_index
 {
   u32 client_index;
   u32 context;
-  u8 node_name[64];
+  string node_name[64];
 };
 
 /** \brief Get node index using name request
@@ -150,8 +146,8 @@ define add_node_next
 {
   u32 client_index;
   u32 context;
-  u8 node_name[64];
-  u8 next_name[64];
+  string node_name[64];
+  string next_name[64];
 };
 
 /** \brief IP Set the next node for a given node response
@@ -187,10 +183,10 @@ define show_version_reply
 {
   u32 context;
   i32 retval;
-  u8 program[32];
-  u8 version[32];
-  u8 build_date[32];
-  u8 build_directory[256];
+  string program[32];
+  string version[32];
+  string build_date[32];
+  string build_directory[256];
 };
 
 
@@ -216,11 +212,11 @@ define show_threads
     @param core - thread pinned to actual physical core.
     @param cpu_socket - thread is running on which cpu socket.
 */
-typeonly define thread_data
+typedef thread_data
 {
   u32 id;
-  u8 name[64];
-  u8 type[64];
+  string name[64];
+  string type[64];
   u32 pid;
   u32 cpu_id;
   u32 core;
@@ -272,8 +268,8 @@ define get_next_index
 {
   u32 client_index;
   u32 context;
-  u8 node_name[64];
-  u8 next_name[64];
+  string node_name[64];
+  string next_name[64];
 };
 
 /** \brief Reply for get next node index
@@ -288,6 +284,90 @@ define get_next_index_reply
   u32 next_index;
 };
 
+define log_dump {
+  u32 client_index;
+  u32 context;
+  vl_api_timestamp_t start_timestamp;
+};
+
+define log_details {
+  u32 context;
+  vl_api_timestamp_t timestamp;
+  vl_api_log_level_t level;
+  string msg_class[32];
+  string message[256];
+};
+
+/** \brief Show the current system timestamp.
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+*/
+define show_vpe_system_time
+{
+  u32 client_index;
+  u32 context;
+};
+
+/** \brief Reply for show vpe system time.
+    @param context - sender context which was passed in the request
+    @param retval - return value
+    @param vpe_system_time - the time in seconds since epoch of the host system.
+*/
+define show_vpe_system_time_reply
+{
+  u32 context;
+  i32 retval;
+  vl_api_timestamp_t vpe_system_time;
+};
+
+/** \brief f64 types are not standardized across the wire. Sense wire format in each direction by sending the f64 value 1.0.
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param f64_one - The constant of 1.0.  If you send a different value, expect an rv=VNET_API_ERROR_API_ENDIAN_FAILED.
+*/
+define get_f64_endian_value
+{
+  u32 client_index;
+  u32 context;
+  f64 f64_one [default=1.0];
+};
+
+/** \brief get_f64_endian_value reply message
+    @param context - sender context which was passed in the request
+    @param retval - return value - VNET_API_ERROR_API_ENDIAN_FAILED if f64_one != 1.0
+    @param f64_one_result - The value of 'f64 1.0'
+*/
+define get_f64_endian_value_reply
+{
+  u32 context;
+  u32 retval;
+  f64 f64_one_result;
+};
+
+/** \brief Verify f64 wire format by sending a value and receiving the value + 1.0
+    @param client_index - opaque cookie to identify the sender.
+    @param context - sender context, to match reply w/ request.
+    @param f64_value - The value you want to test.  Default: 1.0.
+*/
+define get_f64_increment_by_one
+{
+  u32 client_index;
+  u32 context;
+  f64 f64_value [default=1.0];
+};
+
+/** \brief get_f64_increment_by_one reply
+    @param client_index - opaque cookie to identify the sender.
+    @param context - sender context, to match reply w/ request.
+    @param f64_value - The input f64_value incremented by 1.0.
+*/
+define get_f64_increment_by_one_reply
+{
+  u32 context;
+  u32 retval;
+  f64 f64_value;
+};
+
 /*
  * Local Variables:
  * eval: (c-set-style "gnu")