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>
This commit is contained in:
Dave Barach
2017-09-10 15:04:27 -04:00
committed by Damjan Marion
parent 35ffa3e8f6
commit 59b2565cd9
89 changed files with 2521 additions and 1117 deletions
-1
View File
@@ -45,7 +45,6 @@ nil
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vpp/app/version.h>
/* define message IDs */
-1
View File
@@ -41,7 +41,6 @@ nil
#include <vat/vat.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vppinfra/error.h>
uword unformat_sw_if_index (unformat_input_t * input, va_list * args);
@@ -23,7 +23,6 @@
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
/* define message IDs */
#include <sample/sample_msg_enum.h>
@@ -21,7 +21,6 @@
#include <vat/vat.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vppinfra/error.h>
#define __plugin_msg_base sample_test_main.msg_id_base
@@ -24,7 +24,6 @@
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
unsigned char srv6_localsid_name[32] = "Sample-SRv6-LocalSID-plugin";
unsigned char keyword_str[32] = "new_srv6_localsid";
-1
View File
@@ -25,7 +25,6 @@
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
/* define message IDs */
#include <acl/acl_msg_enum.h>
-1
View File
@@ -21,7 +21,6 @@
#include <vat/vat.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vppinfra/error.h>
#include <vnet/ip/ip.h>
#include <arpa/inet.h>
-1
View File
@@ -20,7 +20,6 @@
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vlib/vlib.h>
#include <vnet/vnet.h>
-1
View File
@@ -18,7 +18,6 @@
#include <vat/vat.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vppinfra/error.h>
#include <vnet/ip/ip.h>
-1
View File
@@ -30,7 +30,6 @@
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
/* define message IDs */
#include <flowprobe/flowprobe_msg_enum.h>
-1
View File
@@ -17,7 +17,6 @@
#include <vat/vat.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vppinfra/error.h>
#include <flowprobe/flowprobe.h>
-1
View File
@@ -24,7 +24,6 @@
#include <vppinfra/byte_order.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <gtpu/gtpu.h>
-1
View File
@@ -16,7 +16,6 @@
#include <vat/vat.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vppinfra/error.h>
#include <gtpu/gtpu.h>
@@ -25,7 +25,6 @@
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <ioam/lib-vxlan-gpe/vxlan_gpe_ioam.h>
@@ -21,7 +21,6 @@
#include <vat/vat.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vppinfra/error.h>
#define __plugin_msg_base export_test_main.msg_id_base
-1
View File
@@ -24,7 +24,6 @@
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vnet/ip/ip6_hop_by_hop.h>
@@ -21,7 +21,6 @@
#include <vat/vat.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vppinfra/error.h>
#define __plugin_msg_base export_test_main.msg_id_base
-1
View File
@@ -24,7 +24,6 @@
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vnet/ip/ip6_hop_by_hop.h>
#include "ioam_cache.h"
-1
View File
@@ -25,7 +25,6 @@
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
/* define message IDs */
#include <ioam/lib-pot/pot_msg_enum.h>
+1 -1
View File
@@ -21,7 +21,7 @@
#include <vat/vat.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vppinfra/error.h>
#define __plugin_msg_base pot_test_main.msg_id_base
+1 -1
View File
@@ -26,7 +26,7 @@
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
/* define message IDs */
#include <ioam/lib-trace/trace_msg_enum.h>
+1 -1
View File
@@ -21,7 +21,7 @@
#include <vat/vat.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vppinfra/error.h>
#define __plugin_msg_base trace_test_main.msg_id_base
@@ -25,7 +25,7 @@
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
/* define message IDs */
#include <ioam/lib-vxlan-gpe/vxlan_gpe_msg_enum.h>
@@ -21,7 +21,7 @@
#include <vat/vat.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vppinfra/error.h>
#define __plugin_msg_base vxlan_gpe_test_main.msg_id_base
+1 -1
View File
@@ -25,7 +25,7 @@
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
/* define message IDs */
#include <ioam/udp-ping/udp_ping_msg_enum.h>
+1 -1
View File
@@ -17,7 +17,7 @@
#include <vlib/vlib.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vnet/ip/ip.h>
#include <vnet/ip/ip6_hop_by_hop.h>
#include <ioam/encap/ip6_ioam_trace.h>
+1 -1
View File
@@ -21,7 +21,7 @@
#include <vat/vat.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vppinfra/error.h>
#include <vnet/ip/ip.h>
+1 -1
View File
@@ -19,7 +19,7 @@
#include <vlibapi/api.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#define vl_msg_id(n,h) n,
typedef enum {
+1 -1
View File
@@ -16,7 +16,7 @@
#include <vat/vat.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
#include <vppinfra/error.h>
#include <lb/lb.h>
+1 -1
View File
@@ -25,7 +25,7 @@
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
/* define message IDs */
#include <memif/memif_msg_enum.h>

Some files were not shown because too many files have changed in this diff Show More