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>
diff --git a/src/svm.am b/src/svm.am
index 7116eb3..002c06c 100644
--- a/src/svm.am
+++ b/src/svm.am
@@ -13,12 +13,24 @@
 
 bin_PROGRAMS += svmtool svmdbtool
 
-nobase_include_HEADERS += svm/svm.h svm/svm_common.h svm/ssvm.h svm/svmdb.h \
-	svm/svm_fifo.h svm/svm_fifo_segment.h
+nobase_include_HEADERS += 			\
+  svm/memfd.h					\
+  svm/ssvm.h 					\
+  svm/svm_common.h 				\
+  svm/svmdb.h 					\
+  svm/svm_fifo.h 				\
+  svm/svm_fifo_segment.h			\
+  svm/svm.h 
 
 lib_LTLIBRARIES += libsvm.la libsvmdb.la
 
-libsvm_la_SOURCES = svm/svm.c svm/ssvm.c svm/svm_fifo.c svm/svm_fifo_segment.c
+libsvm_la_SOURCES =				\
+  svm/svm.c 					\
+  svm/ssvm.c 					\
+  svm/svm_fifo.c 				\
+  svm/svm_fifo_segment.c			\
+  svm/memfd.c
+
 libsvm_la_LIBADD = libvppinfra.la -lrt -lpthread
 libsvm_la_DEPENDENCIES = libvppinfra.la