diff options
author | Florin Coras <fcoras@cisco.com> | 2019-08-21 16:20:44 -0700 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2019-08-27 18:21:39 +0000 |
commit | 458089bbad9cf5bef6cf8119f23fc44e66b36ad3 (patch) | |
tree | 4ee7da1148172ca6f8a878746c8bd48c1e2dc95e /src/vnet/session/session_types.h | |
parent | 7adaa226eaa2401d6bb0dfd38a0d943c9645d7dc (diff) |
session: move ctrl messages from bapi to mq
Type:refactor
Moves connect, disconnect, bind, unbind and app detach to message
queue from binary api. Simplifies app/vcl interaction with the session
layer since all session control messages are now handled over the mq.
Add/del segment messages require internal C api changes which affect all
builtin applications. They'll be moved in a different patch and might
not be back portable to 19.08.
Change-Id: I93f6d18e551b024effa75d47f5ff25f23ba8aff5
Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/session/session_types.h')
-rw-r--r-- | src/vnet/session/session_types.h | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/src/vnet/session/session_types.h b/src/vnet/session/session_types.h index f9472ba3828..52a79e3beb5 100644 --- a/src/vnet/session/session_types.h +++ b/src/vnet/session/session_types.h @@ -290,21 +290,48 @@ typedef enum SESSION_IO_EVT_BUILTIN_TX, SESSION_CTRL_EVT_RPC, SESSION_CTRL_EVT_CLOSE, + SESSION_CTRL_EVT_RESET, SESSION_CTRL_EVT_BOUND, SESSION_CTRL_EVT_UNLISTEN_REPLY, SESSION_CTRL_EVT_ACCEPTED, SESSION_CTRL_EVT_ACCEPTED_REPLY, SESSION_CTRL_EVT_CONNECTED, - SESSION_CTRL_EVT_CONNECTED_REPLY, SESSION_CTRL_EVT_DISCONNECTED, SESSION_CTRL_EVT_DISCONNECTED_REPLY, - SESSION_CTRL_EVT_RESET, SESSION_CTRL_EVT_RESET_REPLY, SESSION_CTRL_EVT_REQ_WORKER_UPDATE, SESSION_CTRL_EVT_WORKER_UPDATE, SESSION_CTRL_EVT_WORKER_UPDATE_REPLY, + SESSION_CTRL_EVT_DISCONNECT, + SESSION_CTRL_EVT_CONNECT, + SESSION_CTRL_EVT_CONNECT_URI, + SESSION_CTRL_EVT_LISTEN, + SESSION_CTRL_EVT_LISTEN_URI, + SESSION_CTRL_EVT_UNLISTEN, + SESSION_CTRL_EVT_APP_DETACH, } session_evt_type_t; +#define foreach_session_ctrl_evt \ + _(LISTEN, listen) \ + _(LISTEN_URI, listen_uri) \ + _(BOUND, bound) \ + _(UNLISTEN, unlisten) \ + _(UNLISTEN_REPLY, unlisten_reply) \ + _(ACCEPTED, accepted) \ + _(ACCEPTED_REPLY, accepted_reply) \ + _(CONNECT, connect) \ + _(CONNECT_URI, connect_uri) \ + _(CONNECTED, connected) \ + _(DISCONNECT, disconnect) \ + _(DISCONNECTED, disconnected) \ + _(DISCONNECTED_REPLY, disconnected_reply) \ + _(RESET_REPLY, reset_reply) \ + _(REQ_WORKER_UPDATE, req_worker_update) \ + _(WORKER_UPDATE, worker_update) \ + _(WORKER_UPDATE_REPLY, worker_update_reply) \ + _(APP_DETACH, app_detach) \ + + /* Deprecated and will be removed. Use types above */ #define FIFO_EVENT_APP_RX SESSION_IO_EVT_RX #define FIFO_EVENT_APP_TX SESSION_IO_EVT_TX @@ -334,6 +361,7 @@ typedef struct u32 session_index; session_handle_t session_handle; session_rpc_args_t rpc_args; + u32 ctrl_data_index; struct { u8 data[0]; |