X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibmemory%2Fmemclnt.api;h=bd999b51dd0a90be4fadd844cca7814dc573e8be;hb=ed999e3b8159eb5b584354af95686a84fb012e05;hp=cc37c7c2f8d45f7744d3baa82a799033c1bdf1f4;hpb=7528245795947a7340d3537c6989c0f6a05933f4;p=vpp.git diff --git a/src/vlibmemory/memclnt.api b/src/vlibmemory/memclnt.api index cc37c7c2f8d..bd999b51dd0 100644 --- a/src/vlibmemory/memclnt.api +++ b/src/vlibmemory/memclnt.api @@ -14,10 +14,10 @@ * limitations under the License. */ -option version = "2.0.0"; +option version = "2.1.0"; /* - * Define services not following the normal convetions here + * Define services not following the normal conventions here */ service { rpc memclnt_rx_thread_suspend returns null; @@ -29,12 +29,11 @@ service { /* * Create a client registration */ -manual_print define memclnt_create { u32 context; /* opaque value to be returned in the reply */ i32 ctx_quota; /* requested punt context quota */ u64 input_queue; /* client's queue */ - u8 name[64]; /* for show, find by name, whatever */ + string name[64]; /* for show, find by name, whatever */ u32 api_versions[8]; /* client-server pairs use as desired */ }; @@ -49,10 +48,10 @@ define memclnt_create_reply { /* * Delete a client registration */ -manual_print define memclnt_delete { u32 index; /* index, used e.g. by API trace replay */ u64 handle; /* handle by which vlib knows this client */ + bool do_cleanup; /* vlib to cleanup the registration */ }; define memclnt_delete_reply { @@ -101,11 +100,10 @@ autoreply define rpc_call { define get_first_msg_id { u32 client_index; u32 context; - u8 name[64]; + string name[64]; }; define get_first_msg_id_reply { - u32 client_index; u32 context; i32 retval; u16 first_msg_id; @@ -114,18 +112,17 @@ define get_first_msg_id_reply { /* * Get API version table (includes built-in and plugins) */ -typeonly define module_version { +typedef module_version { u32 major; u32 minor; u32 patch; - u8 name[64]; + string name[64]; }; define api_versions { u32 client_index; u32 context; }; define api_versions_reply { - u32 client_index; u32 context; i32 retval; u32 count; @@ -138,41 +135,50 @@ define api_versions_reply { * at api trace replay time */ -manual_print define trace_plugin_msg_ids +define trace_plugin_msg_ids { u32 client_index; u32 context; - u8 plugin_name[128]; + string plugin_name[128]; u16 first_msg_id; u16 last_msg_id; }; +typedef message_table_entry +{ + u16 index; + string name[64]; +}; + /* * Create a socket client registration. */ define sockclnt_create { u32 context; /* opaque value to be returned in the reply */ - u8 name[64]; /* for show, find by name, whatever */ + string name[64]; /* for show, find by name, whatever */ }; define sockclnt_create_reply { + u32 client_index; u32 context; /* opaque value from the create request */ i32 response; /* Non-negative = success */ - u64 handle; /* handle by which vlib knows this client */ u32 index; /* index, used e.g. by API trace replay */ + u16 count; + vl_api_message_table_entry_t message_table[count]; }; /* * Delete a client registration */ define sockclnt_delete { + u32 client_index; + u32 context; u32 index; /* index, used e.g. by API trace replay */ - u64 handle; /* handle by which vlib knows this client */ }; define sockclnt_delete_reply { + u32 context; i32 response; /* Non-negative = success */ - u64 handle; /* in case the client wonders */ }; /* @@ -201,3 +207,28 @@ autoreply define memclnt_keepalive u32 client_index; u32 context; }; + +/** \brief Control ping from client to api server request + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request +*/ +define control_ping +{ + u32 client_index; + u32 context; +}; + +/** \brief Control ping from the client to the server response + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param retval - return code for the request + @param vpe_pid - the pid of the vpe, returned by the server +*/ +define control_ping_reply +{ + u32 context; + i32 retval; + u32 client_index; + u32 vpe_pid; +}; +