X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibmemory%2Fmemclnt.api;h=20a73f2b3c22e194f30bf85bc5d978768f36481d;hb=90a6398;hp=2f654caf2c1736f5068bea0adefc67360a26f2b3;hpb=7cd468a3d7dee7d6c92f69a0bb7061ae208ec727;p=vpp.git diff --git a/src/vlibmemory/memclnt.api b/src/vlibmemory/memclnt.api index 2f654caf2c1..20a73f2b3c2 100644 --- a/src/vlibmemory/memclnt.api +++ b/src/vlibmemory/memclnt.api @@ -14,6 +14,8 @@ * limitations under the License. */ +vl_api_version 1.0.0 + /* * Create a client registration */ @@ -48,18 +50,31 @@ define memclnt_delete_reply { 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; @@ -69,11 +84,6 @@ define rpc_call { u8 data[0]; }; -define rpc_reply { - i32 retval; - u32 context; -}; - /* * Lookup message-ID base by name */ @@ -89,3 +99,113 @@ define get_first_msg_id_reply { i32 retval; 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 + * at api trace replay time + */ + +manual_print define trace_plugin_msg_ids +{ + u32 client_index; + u32 context; + u8 plugin_name[128]; + 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 */ +}; + +/* + * Ask vpp for a memfd shared segment + */ +define memfd_segment_create { + u32 client_index; + u32 context; + u64 requested_size; +}; + +/* + * Reply + */ +define memfd_segment_create_reply +{ + u32 context; + i32 retval; + u32 master_fd; +}; + +/* + * Initialize shm api over socket api + */ +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; +};