#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 \
u8 original_tp;
u8 *hostname;
u64 parent_handle;
+ u32 ckpair_index;
+ u8 crypto_engine;
+ u8 flags;
} session_endpoint_cfg_t;
#define SESSION_IP46_ZERO \
.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)
_(CLOSING, "closing") \
_(APP_CLOSED, "app-closed") \
_(TRANSPORT_CLOSED, "transport-closed") \
- _(TRANSPORT_DELETED, "transport-deleted") \
_(CLOSED, "closed") \
+ _(TRANSPORT_DELETED, "transport-deleted") \
typedef enum
{
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") \
+
+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_