quic: Add support for unidirectional streams
[vpp.git] / src / vnet / session / session_types.h
index 4b187a6..16d4843 100644 (file)
@@ -47,6 +47,7 @@ typedef struct _session_endpoint_cfg
   u64 parent_handle;
   u32 ckpair_index;
   u8 crypto_engine;
+  u8 flags;
 } session_endpoint_cfg_t;
 
 #define SESSION_IP46_ZERO                      \
@@ -147,12 +148,26 @@ 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),
-  SESSION_F_IS_MIGRATING = (1 << 3),
+#define _(sym, str) SESSION_F_ ## sym = 1 << SESSION_F_BIT_ ## sym,
+  foreach_session_flag
+#undef _
 } session_flags_t;
 
 typedef struct session_