diff options
author | Ole Troan <otroan@employees.org> | 2024-01-23 18:56:23 +0100 |
---|---|---|
committer | Andrew Yourtchenko <ayourtch@gmail.com> | 2024-01-29 22:57:31 +0000 |
commit | ac0babd412e3b5282136a5c5c5be2c4cc4be6895 (patch) | |
tree | 5c58249463d7121a163534e55b1d5f6f27ae7967 /src/vlibmemory/memclnt.api | |
parent | f34b6800de78d99192dc5757a4845e2668749c40 (diff) |
api: provide api definition over api
This patch allows a client to bootstrap itself by downloading the
JSON API definitions over the API itself.
This patch enables it for Python (probably need a dynamic language).
Call VPPApiClient with the new bootstrapapi=True parameter.
Example (Python):
from vpp_papi import VPPApiClient
vpp = VPPApiClient(bootstrapapi=True)
rv = vpp.connect("foobar")
assert rv == 0
print(f'SHOW VERSION: {vpp.api.show_version()}')
vpp.disconnect()
Type: feature
Change-Id: Id903fdccc82b2e22aa1994331d2c150253f2ccae
Signed-off-by: Ole Troan <otroan@employees.org>
Diffstat (limited to 'src/vlibmemory/memclnt.api')
-rw-r--r-- | src/vlibmemory/memclnt.api | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/vlibmemory/memclnt.api b/src/vlibmemory/memclnt.api index a8e7cfeaec0..dc0f4e1c8a7 100644 --- a/src/vlibmemory/memclnt.api +++ b/src/vlibmemory/memclnt.api @@ -27,7 +27,7 @@ service { }; /* - * Create a client registration + * Create a client registration */ define memclnt_create { option deprecated; @@ -50,7 +50,7 @@ define memclnt_create_reply { }; /* - * Delete a client registration + * Delete a client registration */ define memclnt_delete { u32 index; /* index, used e.g. by API trace replay */ @@ -155,7 +155,7 @@ typedef message_table_entry }; /* - * Create a socket client registration. + * Create a socket client registration. */ define sockclnt_create { u32 context; /* opaque value to be returned in the reply */ @@ -172,7 +172,7 @@ define sockclnt_create_reply { }; /* - * Delete a client registration + * Delete a client registration */ define sockclnt_delete { u32 client_index; @@ -252,3 +252,14 @@ define memclnt_create_v2_reply { 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[]; +}; |