diff options
author | Dave Barach <dave@barachs.net> | 2017-09-10 15:04:27 -0400 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2017-10-03 11:03:47 +0000 |
commit | 59b2565cd91a67ced650739f36129650830211ac (patch) | |
tree | 1ae3b8d69d7952500b07186169fb31e0f72ae04e /src/vppinfra/serialize.c | |
parent | 35ffa3e8f6b032f6e324234d495f769049d8feea (diff) |
Repair vlib API socket server
- Teach vpp_api_test to send/receive API messages over sockets
- Add memfd-based shared memory
- Add api messages to create memfd-based shared memory segments
- vpp_api_test supports both socket and shared memory segment connections
- vpp_api_test pivot from socket to shared memory API messaging
- add socket client support to libvlibclient.so
- dead client reaper sends ping messages, container-friendly
- dead client reaper falls back to kill (<pid>, 0) live checking
if e.g. a python app goes silent for tens of seconds
- handle ping messages in python client support code
- teach show api ring about pairwise shared-memory segments
- fix ip probing of already resolved destinations (VPP-998)
We'll need this work to implement proper host-stack client isolation
Change-Id: Ic23b65f75c854d0393d9a2e9d6b122a9551be769
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vppinfra/serialize.c')
-rw-r--r-- | src/vppinfra/serialize.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/vppinfra/serialize.c b/src/vppinfra/serialize.c index 5d401a080c1..fe2146a1e64 100644 --- a/src/vppinfra/serialize.c +++ b/src/vppinfra/serialize.c @@ -1147,7 +1147,7 @@ unserialize_multiple_4 (serialize_main_t * m, #include <fcntl.h> static void -unix_file_write (serialize_main_header_t * m, serialize_stream_t * s) +clib_file_write (serialize_main_header_t * m, serialize_stream_t * s) { int fd, n; @@ -1168,7 +1168,7 @@ unix_file_write (serialize_main_header_t * m, serialize_stream_t * s) } static void -unix_file_read (serialize_main_header_t * m, serialize_stream_t * s) +clib_file_read (serialize_main_header_t * m, serialize_stream_t * s) { int fd, n; @@ -1188,7 +1188,7 @@ unix_file_read (serialize_main_header_t * m, serialize_stream_t * s) } static void -serialize_open_unix_file_descriptor_helper (serialize_main_t * m, int fd, +serialize_open_clib_file_descriptor_helper (serialize_main_t * m, int fd, uword is_read) { memset (m, 0, sizeof (m[0])); @@ -1200,24 +1200,24 @@ serialize_open_unix_file_descriptor_helper (serialize_main_t * m, int fd, _vec_len (m->stream.buffer) = 0; } - m->header.data_function = is_read ? unix_file_read : unix_file_write; + m->header.data_function = is_read ? clib_file_read : clib_file_write; m->stream.data_function_opaque = fd; } void -serialize_open_unix_file_descriptor (serialize_main_t * m, int fd) +serialize_open_clib_file_descriptor (serialize_main_t * m, int fd) { - serialize_open_unix_file_descriptor_helper (m, fd, /* is_read */ 0); + serialize_open_clib_file_descriptor_helper (m, fd, /* is_read */ 0); } void -unserialize_open_unix_file_descriptor (serialize_main_t * m, int fd) +unserialize_open_clib_file_descriptor (serialize_main_t * m, int fd) { - serialize_open_unix_file_descriptor_helper (m, fd, /* is_read */ 1); + serialize_open_clib_file_descriptor_helper (m, fd, /* is_read */ 1); } static clib_error_t * -serialize_open_unix_file_helper (serialize_main_t * m, char *file, +serialize_open_clib_file_helper (serialize_main_t * m, char *file, uword is_read) { int fd, mode; @@ -1227,20 +1227,20 @@ serialize_open_unix_file_helper (serialize_main_t * m, char *file, if (fd < 0) return clib_error_return_unix (0, "open `%s'", file); - serialize_open_unix_file_descriptor_helper (m, fd, is_read); + serialize_open_clib_file_descriptor_helper (m, fd, is_read); return 0; } clib_error_t * -serialize_open_unix_file (serialize_main_t * m, char *file) +serialize_open_clib_file (serialize_main_t * m, char *file) { - return serialize_open_unix_file_helper (m, file, /* is_read */ 0); + return serialize_open_clib_file_helper (m, file, /* is_read */ 0); } clib_error_t * -unserialize_open_unix_file (serialize_main_t * m, char *file) +unserialize_open_clib_file (serialize_main_t * m, char *file) { - return serialize_open_unix_file_helper (m, file, /* is_read */ 1); + return serialize_open_clib_file_helper (m, file, /* is_read */ 1); } #endif /* CLIB_UNIX */ |