diff options
author | Nathan Skrzypczak <nathan.skrzypczak@gmail.com> | 2021-12-15 19:15:32 +0100 |
---|---|---|
committer | Damjan Marion <dmarion@0xa5.net> | 2023-03-06 13:54:06 +0000 |
commit | 8b213ee652dd69d941865fa59e1f780843016475 (patch) | |
tree | f37774b199588dcace4b1c4277b8398fc3cc0498 /src/plugins/memif/memif.api | |
parent | ec5c40b83acae400a8cc1a18ad897b6365774559 (diff) |
memif: autogenerate socket_ids
This patch adds an API memif_socket_filename_add_del_v2
that allows autogenerating memif socket_id when passing
~0 in the socket_id field.
It opportunistically walks the hash to find a free ID
to use, and returns it in the reply.
socket_filename also becomes a variable length string,
to accomodate for longer names (in case a netns gets
passed)
Type: feature
Change-Id: I33fc3e1cf553af27579d6bad8691b22b530531cc
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Diffstat (limited to 'src/plugins/memif/memif.api')
-rw-r--r-- | src/plugins/memif/memif.api | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/plugins/memif/memif.api b/src/plugins/memif/memif.api index 9e32db5b470..91e72f73ab4 100644 --- a/src/plugins/memif/memif.api +++ b/src/plugins/memif/memif.api @@ -51,6 +51,40 @@ autoreply define memif_socket_filename_add_del option vat_help = "[add|del] id <id> filename <file>"; }; +/** \brief Create or remove named socket file for memif interfaces + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param is_add - 0 = remove, 1 = add association + @param socket_id - non-0 32-bit integer used to identify a socket file + ~0 means autogenerate + @param socket_filename - filename of the socket to be used for connection + establishment; id 0 always maps to default "/var/vpp/memif.sock"; + no socket filename needed when is_add == 0. + socket_filename starting with '@' will create an abstract socket + in the given namespace +*/ +define memif_socket_filename_add_del_v2 +{ + u32 client_index; + u32 context; + bool is_add; /* 0 = remove, 1 = add association */ + u32 socket_id [default=0xffffffff]; /* unique non-0 id for given socket file name */ + string socket_filename[]; /* NUL terminated filename */ + option vat_help = "[add|del] id <id> filename <file>"; +}; + +/** \brief Create memory interface socket file response + @param context - sender context, to match reply w/ request + @param retval - return value for request + @param socket_id - non-0 32-bit integer used to identify a socket file +*/ +define memif_socket_filename_add_del_v2_reply +{ + u32 context; + i32 retval; + u32 socket_id; +}; + /** \brief Create memory interface @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request |