* limitations under the License.
*/
+option version = "1.0.0";
+
+/*
+ * Define services not following the normal convetions here
+ */
+service {
+ rpc memclnt_rx_thread_suspend returns null;
+ rpc memclnt_read_timeout returns null;
+ rpc rx_thread_exit returns null;
+ rpc trace_plugin_msg_ids returns null;
+};
+
/*
* Create a client registration
*/
u64 handle; /* in case the client wonders */
};
-/*
+/*
* Client RX thread exit
*/
-
define rx_thread_exit {
u8 dummy;
};
+/*
+ * Client RX thread suspend
+ */
+define memclnt_rx_thread_suspend {
+ u8 dummy;
+};
+
+/*
+ * Client read timeout
+ */
+define memclnt_read_timeout {
+ u8 dummy;
+};
+
/*
* RPC
*/
-define rpc_call {
+autoreply define rpc_call {
u32 client_index;
u32 context;
u64 function;
u8 data[0];
};
-define rpc_reply {
- i32 retval;
- u32 context;
-};
-
/*
* Lookup message-ID base by name
*/
u16 first_msg_id;
};
+/*
+ * Get API version table (includes built-in and plugins)
+ */
+typeonly define module_version {
+ u32 major;
+ u32 minor;
+ u32 patch;
+ u8 name[64];
+};
+define api_versions {
+ u32 client_index;
+ u32 context;
+};
+define api_versions_reply {
+ u32 client_index;
+ u32 context;
+ i32 retval;
+ u32 count;
+ vl_api_module_version_t api_versions[count];
+};
+
/*
* Trace the plugin message-id allocator
* so we stand a chance of dealing with different sets of plugins
u16 first_msg_id;
u16 last_msg_id;
};
+
+/*
+ * Create a socket client registration.
+ */
+define sockclnt_create {
+ u8 name[64]; /* for show, find by name, whatever */
+ u32 context; /* opaque value to be returned in the reply */
+};
+
+define sockclnt_create_reply {
+ i32 response; /* Non-negative = success */
+ u64 handle; /* handle by which vlib knows this client */
+ u32 index; /* index, used e.g. by API trace replay */
+ u32 context; /* opaque value from the create request */
+};
+
+/*
+ * Delete a client registration
+ */
+define sockclnt_delete {
+ u32 index; /* index, used e.g. by API trace replay */
+ u64 handle; /* handle by which vlib knows this client */
+};
+
+define sockclnt_delete_reply {
+ i32 response; /* Non-negative = success */
+ u64 handle; /* in case the client wonders */
+};
+
+/*
+ * Initialize shm api over socket api
+ */
+autoreply define sock_init_shm {
+ u32 client_index;
+ u32 context;
+ u32 requested_size;
+ u8 nitems;
+ u64 configs[nitems];
+};
+
+/* define sock_init_shm_reply {
+ u32 client_index;
+ u32 context;
+ i32 retval;
+}; */
+
+/*
+ * Memory client ping / response
+ * Only sent on inactive connections
+ */
+autoreply define memclnt_keepalive
+{
+ u32 client_index;
+ u32 context;
+};