diff options
author | Florin Coras <fcoras@cisco.com> | 2021-01-15 13:49:33 -0800 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2021-03-29 20:20:03 +0000 |
commit | 41d5f541d37dc564565b3b29eb370b65bb5a9036 (patch) | |
tree | 49c80b5c140c0693c37a037ef513c62d92c74a7e /src/vnet/session/session_types.h | |
parent | a840db21e8cce5f27f2a41bd245d59e6aeb8a932 (diff) |
svm session vcl: per app rx message queues
Add option to use per app private segments for app to vpp message
queues, as opposed to exposing internal message queues segment.
When so configured, internal message queues are still polled by the
session queue node but external app message queues are handled by a new
input node (appsl-rx-mqs-input) that runs in interrupt state. Signaling
of the node, when mqs receive new messages, is done through eventfds
epolled by worker epoll input nodes.
Type: feature
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iffe8ce5a9944a56a14e6d0f492a850cb9e392d16
Diffstat (limited to 'src/vnet/session/session_types.h')
-rw-r--r-- | src/vnet/session/session_types.h | 63 |
1 files changed, 32 insertions, 31 deletions
diff --git a/src/vnet/session/session_types.h b/src/vnet/session/session_types.h index 7a9f687e4ab..32cb9530bd9 100644 --- a/src/vnet/session/session_types.h +++ b/src/vnet/session/session_types.h @@ -449,37 +449,38 @@ typedef struct session_dgram_header_ STATIC_ASSERT (sizeof (session_dgram_hdr_t) == (SESSION_CONN_ID_LEN + 8), "session conn id wrong length"); -#define foreach_session_error \ - _(NONE, "no error") \ - _(UNKNOWN, "generic/unknown error") \ - _(REFUSED, "refused") \ - _(TIMEDOUT, "timedout") \ - _(ALLOC, "obj/memory allocation error") \ - _(OWNER, "object not owned by application") \ - _(NOROUTE, "no route") \ - _(NOINTF, "no resolving interface") \ - _(NOIP, "no ip for lcl interface") \ - _(NOPORT, "no lcl port") \ - _(NOSUPPORT, "not supported") \ - _(NOLISTEN, "not listening") \ - _(NOSESSION, "session does not exist") \ - _(NOAPP, "app not attached") \ - _(PORTINUSE, "lcl port in use") \ - _(IPINUSE, "ip in use") \ - _(ALREADY_LISTENING, "ip port pair already listened on") \ - _(INVALID_RMT_IP, "invalid remote ip") \ - _(INVALID_APPWRK, "invalid app worker") \ - _(INVALID_NS, "invalid namespace") \ - _(SEG_NO_SPACE, "Couldn't allocate a fifo pair") \ - _(SEG_NO_SPACE2, "Created segment, couldn't allocate a fifo pair") \ - _(SEG_CREATE, "Couldn't create a new segment") \ - _(FILTERED, "session filtered") \ - _(SCOPE, "scope not supported") \ - _(BAPI_NO_FD, "bapi doesn't have a socket fd") \ - _(BAPI_SEND_FD, "couldn't send fd over bapi socket fd") \ - _(BAPI_NO_REG, "app bapi registration not found") \ - _(MQ_MSG_ALLOC, "failed to alloc mq msg") \ - _(TLS_HANDSHAKE, "failed tls handshake") \ +#define foreach_session_error \ + _ (NONE, "no error") \ + _ (UNKNOWN, "generic/unknown error") \ + _ (REFUSED, "refused") \ + _ (TIMEDOUT, "timedout") \ + _ (ALLOC, "obj/memory allocation error") \ + _ (OWNER, "object not owned by application") \ + _ (NOROUTE, "no route") \ + _ (NOINTF, "no resolving interface") \ + _ (NOIP, "no ip for lcl interface") \ + _ (NOPORT, "no lcl port") \ + _ (NOSUPPORT, "not supported") \ + _ (NOLISTEN, "not listening") \ + _ (NOSESSION, "session does not exist") \ + _ (NOAPP, "app not attached") \ + _ (PORTINUSE, "lcl port in use") \ + _ (IPINUSE, "ip in use") \ + _ (ALREADY_LISTENING, "ip port pair already listened on") \ + _ (INVALID_RMT_IP, "invalid remote ip") \ + _ (INVALID_APPWRK, "invalid app worker") \ + _ (INVALID_NS, "invalid namespace") \ + _ (SEG_NO_SPACE, "Couldn't allocate a fifo pair") \ + _ (SEG_NO_SPACE2, "Created segment, couldn't allocate a fifo pair") \ + _ (SEG_CREATE, "Couldn't create a new segment") \ + _ (FILTERED, "session filtered") \ + _ (SCOPE, "scope not supported") \ + _ (BAPI_NO_FD, "bapi doesn't have a socket fd") \ + _ (BAPI_SEND_FD, "couldn't send fd over bapi socket fd") \ + _ (BAPI_NO_REG, "app bapi registration not found") \ + _ (MQ_MSG_ALLOC, "failed to alloc mq msg") \ + _ (TLS_HANDSHAKE, "failed tls handshake") \ + _ (EVENTFD_ALLOC, "failed to alloc eventfd") typedef enum session_error_p_ { |