vcl: support for eventfd mq signaling 22/13922/25
authorFlorin Coras <fcoras@cisco.com>
Thu, 2 Aug 2018 17:45:44 +0000 (10:45 -0700)
committerDave Barach <openvpp@barachs.net>
Fri, 10 Aug 2018 20:26:24 +0000 (20:26 +0000)
commit993683150202254c6ba8dd43e087a7229edd5d4c
tree141ce2cdfe546bfe2ad46e66ac9569a33a895072
parentf46663c65b0238311af93fcfa3030eefdb56e299
vcl: support for eventfd mq signaling

- support eventfd based mq signaling. Based on configuration, vcl
epoll/select can use either condvars or epoll on mq eventfds.
- add vcl support for memfd segments
- vpp explicitly registers cut-through segments with apps/vcl
- if using eventfd, make ldp allow one call to libc_epoll_create. Needed
for the message queue epfd
- update svm_queue_t to allow blocking calls with eventfd signaling.

Change-Id: I064151ac370bbe29bb16c968bf4e3659c8286bea
Signed-off-by: Florin Coras <fcoras@cisco.com>
24 files changed:
src/svm/message_queue.c
src/svm/message_queue.h
src/svm/queue.c
src/svm/queue.h
src/tests/vnet/session/tcp_echo.c
src/vcl.am
src/vcl/ldp.c
src/vcl/vcl_bapi.c
src/vcl/vcl_cfg.c
src/vcl/vcl_private.c [new file with mode: 0644]
src/vcl/vcl_private.h
src/vcl/vcl_test_server.c
src/vcl/vppcom.c
src/vcl/vppcom.h
src/vlibmemory/socket_api.c
src/vnet/session/application.c
src/vnet/session/application.h
src/vnet/session/application_interface.c
src/vnet/session/application_interface.h
src/vnet/session/segment_manager.c
src/vnet/session/segment_manager.h
src/vnet/session/session.api
src/vnet/session/session.c
src/vnet/session/session_api.c