aboutsummaryrefslogtreecommitdiffstats
path: root/src/vppinfra
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2017-09-10 15:04:27 -0400
committerDamjan Marion <dmarion.lists@gmail.com>2017-10-03 11:03:47 +0000
commit59b2565cd91a67ced650739f36129650830211ac (patch)
tree1ae3b8d69d7952500b07186169fb31e0f72ae04e /src/vppinfra
parent35ffa3e8f6b032f6e324234d495f769049d8feea (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')
-rw-r--r--src/vppinfra/elog.h8
-rw-r--r--src/vppinfra/file.h4
-rw-r--r--src/vppinfra/format.h2
-rw-r--r--src/vppinfra/serialize.c28
-rw-r--r--src/vppinfra/serialize.h8
-rw-r--r--src/vppinfra/test_serialize.c4
-rw-r--r--src/vppinfra/time.c4
-rw-r--r--src/vppinfra/unformat.c6
-rw-r--r--src/vppinfra/unix-misc.c10
-rw-r--r--src/vppinfra/unix.h6
10 files changed, 40 insertions, 40 deletions
diff --git a/src/vppinfra/elog.h b/src/vppinfra/elog.h
index 05085b264df..d50c9a6500d 100644
--- a/src/vppinfra/elog.h
+++ b/src/vppinfra/elog.h
@@ -525,12 +525,12 @@ void elog_alloc (elog_main_t * em, u32 n_events);
#ifdef CLIB_UNIX
always_inline clib_error_t *
-elog_write_file (elog_main_t * em, char *unix_file, int flush_ring)
+elog_write_file (elog_main_t * em, char *clib_file, int flush_ring)
{
serialize_main_t m;
clib_error_t *error;
- error = serialize_open_unix_file (&m, unix_file);
+ error = serialize_open_clib_file (&m, clib_file);
if (error)
return error;
error = serialize (&m, serialize_elog_main, em, flush_ring);
@@ -540,12 +540,12 @@ elog_write_file (elog_main_t * em, char *unix_file, int flush_ring)
}
always_inline clib_error_t *
-elog_read_file (elog_main_t * em, char *unix_file)
+elog_read_file (elog_main_t * em, char *clib_file)
{
serialize_main_t m;
clib_error_t *error;
- error = unserialize_open_unix_file (&m, unix_file);
+ error = unserialize_open_clib_file (&m, clib_file);
if (error)
return error;
error = unserialize (&m, unserialize_elog_main, em);
diff --git a/src/vppinfra/file.h b/src/vppinfra/file.h
index 69facea9993..6ebf5122567 100644
--- a/src/vppinfra/file.h
+++ b/src/vppinfra/file.h
@@ -68,7 +68,7 @@ typedef enum
UNIX_FILE_UPDATE_ADD,
UNIX_FILE_UPDATE_MODIFY,
UNIX_FILE_UPDATE_DELETE,
-} unix_file_update_type_t;
+} clib_file_update_type_t;
typedef struct
{
@@ -76,7 +76,7 @@ typedef struct
clib_file_t *file_pool;
void (*file_update) (clib_file_t * file,
- unix_file_update_type_t update_type);
+ clib_file_update_type_t update_type);
} clib_file_main_t;
diff --git a/src/vppinfra/format.h b/src/vppinfra/format.h
index 5b7023a3023..3c4aec99c2b 100644
--- a/src/vppinfra/format.h
+++ b/src/vppinfra/format.h
@@ -305,7 +305,7 @@ u8 *format_hexdump (u8 * s, va_list * va);
/* Unix specific formats. */
#ifdef CLIB_UNIX
/* Setup input from Unix file. */
-void unformat_init_unix_file (unformat_input_t * input, int file_descriptor);
+void unformat_init_clib_file (unformat_input_t * input, int file_descriptor);
/* Take input from Unix environment variable; returns
1 if variable exists zero otherwise. */
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 */
diff --git a/src/vppinfra/serialize.h b/src/vppinfra/serialize.h
index 6cc2372e6ab..90d615f60a4 100644
--- a/src/vppinfra/serialize.h
+++ b/src/vppinfra/serialize.h
@@ -416,11 +416,11 @@ void *serialize_close_vector (serialize_main_t * m);
void unserialize_open_vector (serialize_main_t * m, u8 * vector);
#ifdef CLIB_UNIX
-clib_error_t *serialize_open_unix_file (serialize_main_t * m, char *file);
-clib_error_t *unserialize_open_unix_file (serialize_main_t * m, char *file);
+clib_error_t *serialize_open_clib_file (serialize_main_t * m, char *file);
+clib_error_t *unserialize_open_clib_file (serialize_main_t * m, char *file);
-void serialize_open_unix_file_descriptor (serialize_main_t * m, int fd);
-void unserialize_open_unix_file_descriptor (serialize_main_t * m, int fd);
+void serialize_open_clib_file_descriptor (serialize_main_t * m, int fd);
+void unserialize_open_clib_file_descriptor (serialize_main_t * m, int fd);
#endif /* CLIB_UNIX */
/* Main routines. */
diff --git a/src/vppinfra/test_serialize.c b/src/vppinfra/test_serialize.c
index e00eec3268f..6351b050c6c 100644
--- a/src/vppinfra/test_serialize.c
+++ b/src/vppinfra/test_serialize.c
@@ -184,7 +184,7 @@ test_serialize_main (unformat_input_t * input)
#ifdef CLIB_UNIX
if (tm->dump_file)
- serialize_open_unix_file (sm, tm->dump_file);
+ serialize_open_clib_file (sm, tm->dump_file);
else
#endif
serialize_open_vector (sm, 0);
@@ -217,7 +217,7 @@ test_serialize_main (unformat_input_t * input)
#ifdef CLIB_UNIX
if (tm->dump_file)
{
- if ((error = unserialize_open_unix_file (um, tm->dump_file)))
+ if ((error = unserialize_open_clib_file (um, tm->dump_file)))
goto done;
}
else
diff --git a/src/vppinfra/time.c b/src/vppinfra/time.c
index 168d7375915..770ed8b6807 100644
--- a/src/vppinfra/time.c
+++ b/src/vppinfra/time.c
@@ -91,7 +91,7 @@ clock_frequency_from_proc_filesystem (void)
if (fd < 0)
return cpu_freq;
- unformat_init_unix_file (&input, fd);
+ unformat_init_clib_file (&input, fd);
ppc_timebase = 0;
while (unformat_check_input (&input) != UNFORMAT_END_OF_INPUT)
@@ -130,7 +130,7 @@ clock_frequency_from_sys_filesystem (void)
if (fd < 0)
goto done;
- unformat_init_unix_file (&input, fd);
+ unformat_init_clib_file (&input, fd);
unformat (&input, "%f", &cpu_freq);
cpu_freq *= 1e3; /* measured in kHz */
unformat_free (&input);
diff --git a/src/vppinfra/unformat.c b/src/vppinfra/unformat.c
index 5b17562f359..e30c6d34c22 100644
--- a/src/vppinfra/unformat.c
+++ b/src/vppinfra/unformat.c
@@ -1037,7 +1037,7 @@ unformat_init_vector (unformat_input_t * input, u8 * vector_string)
#ifdef CLIB_UNIX
static uword
-unix_file_fill_buffer (unformat_input_t * input)
+clib_file_fill_buffer (unformat_input_t * input)
{
int fd = pointer_to_uword (input->fill_buffer_arg);
uword l, n;
@@ -1055,9 +1055,9 @@ unix_file_fill_buffer (unformat_input_t * input)
}
void
-unformat_init_unix_file (unformat_input_t * input, int file_descriptor)
+unformat_init_clib_file (unformat_input_t * input, int file_descriptor)
{
- unformat_init (input, unix_file_fill_buffer,
+ unformat_init (input, clib_file_fill_buffer,
uword_to_pointer (file_descriptor, void *));
}
diff --git a/src/vppinfra/unix-misc.c b/src/vppinfra/unix-misc.c
index 361015b4f67..f693102c65a 100644
--- a/src/vppinfra/unix-misc.c
+++ b/src/vppinfra/unix-misc.c
@@ -48,7 +48,7 @@
__thread uword __os_thread_index = 0;
clib_error_t *
-unix_file_n_bytes (char *file, uword * result)
+clib_file_n_bytes (char *file, uword * result)
{
struct stat s;
@@ -64,7 +64,7 @@ unix_file_n_bytes (char *file, uword * result)
}
clib_error_t *
-unix_file_read_contents (char *file, u8 * result, uword n_bytes)
+clib_file_read_contents (char *file, u8 * result, uword n_bytes)
{
int fd = -1;
uword n_done, n_left;
@@ -108,19 +108,19 @@ done:
}
clib_error_t *
-unix_file_contents (char *file, u8 ** result)
+clib_file_contents (char *file, u8 ** result)
{
uword n_bytes;
clib_error_t *error = 0;
u8 *v;
- if ((error = unix_file_n_bytes (file, &n_bytes)))
+ if ((error = clib_file_n_bytes (file, &n_bytes)))
return error;
v = 0;
vec_resize (v, n_bytes);
- error = unix_file_read_contents (file, v, n_bytes);
+ error = clib_file_read_contents (file, v, n_bytes);
if (error)
vec_free (v);
diff --git a/src/vppinfra/unix.h b/src/vppinfra/unix.h
index 29114cfece6..5b82c23a3c0 100644
--- a/src/vppinfra/unix.h
+++ b/src/vppinfra/unix.h
@@ -41,14 +41,14 @@
#include <vppinfra/error.h>
/* Number of bytes in a Unix file. */
-clib_error_t *unix_file_n_bytes (char *file, uword * result);
+clib_error_t *clib_file_n_bytes (char *file, uword * result);
/* Read file contents into given buffer. */
-clib_error_t *unix_file_read_contents (char *file, u8 * result,
+clib_error_t *clib_file_read_contents (char *file, u8 * result,
uword n_bytes);
/* Read and return contents of Unix file. */
-clib_error_t *unix_file_contents (char *file, u8 ** result);
+clib_error_t *clib_file_contents (char *file, u8 ** result);
/* As above but for /proc file system on Linux. */
clib_error_t *unix_proc_file_contents (char *file, u8 ** result);