X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fsession_types.h;h=aa0e86507470780cddd8a86fec0025108041be03;hb=07063b8ea;hp=52a79e3beb5aa13388bbba1d5e0289b987e4b013;hpb=458089bbad9cf5bef6cf8119f23fc44e66b36ad3;p=vpp.git diff --git a/src/vnet/session/session_types.h b/src/vnet/session/session_types.h index 52a79e3beb5..aa0e8650747 100644 --- a/src/vnet/session/session_types.h +++ b/src/vnet/session/session_types.h @@ -21,6 +21,7 @@ #define SESSION_INVALID_INDEX ((u32)~0) #define SESSION_INVALID_HANDLE ((u64)~0) +#define SESSION_CTRL_MSG_MAX_SIZE 84 #define foreach_session_endpoint_fields \ foreach_transport_endpoint_cfg_fields \ @@ -44,6 +45,9 @@ typedef struct _session_endpoint_cfg u8 original_tp; u8 *hostname; u64 parent_handle; + u32 ckpair_index; + u8 crypto_engine; + u8 flags; } session_endpoint_cfg_t; #define SESSION_IP46_ZERO \ @@ -83,7 +87,8 @@ typedef struct _session_endpoint_cfg .app_wrk_index = ENDPOINT_INVALID_INDEX, \ .opaque = ENDPOINT_INVALID_INDEX, \ .hostname = 0, \ - .parent_handle = SESSION_INVALID_HANDLE \ + .parent_handle = SESSION_INVALID_HANDLE, \ + .ckpair_index = 0 \ } #define session_endpoint_to_transport(_sep) ((transport_endpoint_t *)_sep) @@ -118,31 +123,59 @@ typedef enum SESSION_CLEANUP_SESSION, } session_cleanup_ntf_t; +typedef enum session_ft_action_ +{ + SESSION_FT_ACTION_ENQUEUED, + SESSION_FT_ACTION_DEQUEUED, + SESSION_FT_ACTION_N_ACTIONS +} session_ft_action_t; + /* * Session states */ +#define foreach_session_state \ + _(CREATED, "created") \ + _(LISTENING, "listening") \ + _(CONNECTING, "connecting") \ + _(ACCEPTING, "accepting") \ + _(READY, "ready") \ + _(OPENED, "opened") \ + _(TRANSPORT_CLOSING, "transport-closing") \ + _(CLOSING, "closing") \ + _(APP_CLOSED, "app-closed") \ + _(TRANSPORT_CLOSED, "transport-closed") \ + _(CLOSED, "closed") \ + _(TRANSPORT_DELETED, "transport-deleted") \ + typedef enum { - SESSION_STATE_CREATED, - SESSION_STATE_LISTENING, - SESSION_STATE_CONNECTING, - SESSION_STATE_ACCEPTING, - SESSION_STATE_READY, - SESSION_STATE_OPENED, - SESSION_STATE_TRANSPORT_CLOSING, - SESSION_STATE_CLOSING, - SESSION_STATE_APP_CLOSED, - SESSION_STATE_TRANSPORT_CLOSED, - SESSION_STATE_TRANSPORT_DELETED, - SESSION_STATE_CLOSED, - SESSION_STATE_N_STATES, +#define _(sym, str) SESSION_STATE_ ## sym, + foreach_session_state +#undef _ + SESSION_N_STATES, } session_state_t; +#define foreach_session_flag \ + _(RX_EVT, "rx-event") \ + _(PROXY, "proxy") \ + _(CUSTOM_TX, "custom-tx") \ + _(IS_MIGRATING, "migrating") \ + _(UNIDIRECTIONAL, "unidirectional") \ + _(CUSTOM_FIFO_TUNING, "custom-fifo-tuning") \ + +typedef enum session_flags_bits_ +{ +#define _(sym, str) SESSION_F_BIT_ ## sym, + foreach_session_flag +#undef _ + SESSION_N_FLAGS +} session_flag_bits_t; + typedef enum session_flags_ { - SESSION_F_RX_EVT = 1, - SESSION_F_PROXY = (1 << 1), - SESSION_F_CUSTOM_TX = (1 << 2), +#define _(sym, str) SESSION_F_ ## sym = 1 << SESSION_F_BIT_ ## sym, + foreach_session_flag +#undef _ } session_flags_t; typedef struct session_ @@ -309,6 +342,10 @@ typedef enum SESSION_CTRL_EVT_LISTEN_URI, SESSION_CTRL_EVT_UNLISTEN, SESSION_CTRL_EVT_APP_DETACH, + SESSION_CTRL_EVT_APP_ADD_SEGMENT, + SESSION_CTRL_EVT_APP_DEL_SEGMENT, + SESSION_CTRL_EVT_MIGRATED, + SESSION_CTRL_EVT_CLEANUP, } session_evt_type_t; #define foreach_session_ctrl_evt \ @@ -330,7 +367,10 @@ typedef enum _(WORKER_UPDATE, worker_update) \ _(WORKER_UPDATE_REPLY, worker_update_reply) \ _(APP_DETACH, app_detach) \ - + _(APP_ADD_SEGMENT, app_add_segment) \ + _(APP_DEL_SEGMENT, app_del_segment) \ + _(MIGRATED, migrated) \ + _(CLEANUP, cleanup) \ /* Deprecated and will be removed. Use types above */ #define FIFO_EVENT_APP_RX SESSION_IO_EVT_RX