X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibmemory%2Fmemclnt.api;h=dc0f4e1c8a78d53c736adae74ea1b6d4e15fefbd;hb=ac0babd412e3b5282136a5c5c5be2c4cc4be6895;hp=2f1e2daa4b6e18e941a83b126c8a64ae043aa649;hpb=e71748291171e53158e2d36d8f413fed1a137013;p=vpp.git diff --git a/src/vlibmemory/memclnt.api b/src/vlibmemory/memclnt.api index 2f1e2daa4b6..dc0f4e1c8a7 100644 --- a/src/vlibmemory/memclnt.api +++ b/src/vlibmemory/memclnt.api @@ -27,18 +27,21 @@ service { }; /* - * Create a client registration + * Create a client registration */ -manual_print define memclnt_create { + option deprecated; + 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 */ }; define memclnt_create_reply { + option deprecated; + u32 context; /* opaque value from the create request */ i32 response; /* Non-negative = success */ u64 handle; /* handle by which vlib knows this client */ @@ -47,13 +50,12 @@ define memclnt_create_reply { }; /* - * Delete a client registration + * 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 */ - u8 do_cleanup; /* vlib to cleanup the registration */ + bool do_cleanup; /* vlib to cleanup the registration */ }; define memclnt_delete_reply { @@ -102,7 +104,7 @@ 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 { @@ -118,7 +120,7 @@ typedef module_version { u32 major; u32 minor; u32 patch; - u8 name[64]; + string name[64]; }; define api_versions { u32 client_index; @@ -137,11 +139,11 @@ 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; }; @@ -149,15 +151,15 @@ manual_print define trace_plugin_msg_ids typedef message_table_entry { u16 index; - u8 name[64]; + string name[64]; }; /* - * Create a socket client registration. + * 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 { @@ -170,7 +172,7 @@ define sockclnt_create_reply { }; /* - * Delete a client registration + * Delete a client registration */ define sockclnt_delete { u32 client_index; @@ -209,3 +211,55 @@ 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; +}; + +define memclnt_create_v2 { + u32 context; /* opaque value to be returned in the reply */ + i32 ctx_quota; /* requested punt context quota */ + u64 input_queue; /* client's queue */ + string name[64]; /* for show, find by name, whatever */ + u32 api_versions[8]; /* client-server pairs use as desired */ + bool keepalive[default=true]; /* dead client scan keepalives */ +}; + +define memclnt_create_v2_reply { + 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 */ + u64 message_table; /* serialized message table in shmem */ +}; + +define get_api_json { + u32 client_index; + u32 context; +}; + +define get_api_json_reply { + u32 context; + i32 retval; + string json[]; +};