X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibmemory%2Fmemclnt.api;h=5a7ef4f48effe1493f4b89ca54bab149b18de7e5;hb=2959d42fe;hp=fb08f5120ee0666b242751a98e10d18fa0076f97;hpb=9d42087149a6870965896be74dc6260f72d2cac9;p=vpp.git diff --git a/src/vlibmemory/memclnt.api b/src/vlibmemory/memclnt.api index fb08f5120ee..5a7ef4f48ef 100644 --- a/src/vlibmemory/memclnt.api +++ b/src/vlibmemory/memclnt.api @@ -14,25 +14,35 @@ * limitations under the License. */ -option version = "1.0.0"; +option version = "2.1.0"; + +/* + * Define services not following the normal conventions 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 */ manual_print define memclnt_create { - i32 ctx_quota; /* requested punt context quota */ 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 [limit=64]; /* for show, find by name, whatever */ u32 api_versions[8]; /* client-server pairs use as desired */ }; define memclnt_create_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 */ - u32 context; /* opaque value from the create request */ u64 message_table; /* serialized message table in shmem */ }; @@ -43,6 +53,7 @@ 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 */ }; define memclnt_delete_reply { @@ -81,7 +92,8 @@ autoreply define rpc_call { u8 multicast; u8 need_barrier_sync; u8 send_reply; - u8 data[0]; + u32 data_len; + u8 data[data_len]; }; /* @@ -90,11 +102,10 @@ autoreply define rpc_call { define get_first_msg_id { u32 client_index; u32 context; - u8 name[64]; + string name [limit=64]; }; define get_first_msg_id_reply { - u32 client_index; u32 context; i32 retval; u16 first_msg_id; @@ -103,18 +114,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 [limit=64]; }; define api_versions { u32 client_index; u32 context; }; define api_versions_reply { - u32 client_index; u32 context; i32 retval; u32 count; @@ -131,62 +141,52 @@ manual_print define trace_plugin_msg_ids { u32 client_index; u32 context; - u8 plugin_name[128]; + string plugin_name [limit=128]; u16 first_msg_id; u16 last_msg_id; }; +typedef message_table_entry +{ + u16 index; + u8 name[64]; +}; + /* * 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 */ + string name [limit=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 */ - u32 context; /* opaque value from the create request */ + 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 { - 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; + i32 response; /* Non-negative = success */ }; /* * Initialize shm api over socket api */ -define sock_init_shm { +autoreply define sock_init_shm { u32 client_index; u32 context; u32 requested_size; @@ -194,11 +194,11 @@ define sock_init_shm { u64 configs[nitems]; }; -define sock_init_shm_reply { +/* define sock_init_shm_reply { u32 client_index; u32 context; i32 retval; -}; +}; */ /* * Memory client ping / response