+ /** Vector of postponed events */
+ session_event_t *postponed_event_vector;
+
+ /** Peekers rw lock */
+ clib_rwlock_t peekers_rw_locks;
+
+ u32 last_tx_packets;
+
+} session_manager_worker_t;
+
+struct _session_manager_main
+{
+ /** Worker contexts */
+ session_manager_worker_t *wrk;
+
+ /** Event queues memfd segment initialized only if so configured */
+ ssvm_private_t evt_qs_segment;
+
+ /** Unique segment name counter */
+ u32 unique_segment_name_counter;
+
+ /** Per transport rx function that can either dequeue or peek */
+ session_fifo_rx_fn **session_tx_fns;
+
+ /** Per session type output nodes. Could optimize to group nodes by
+ * fib but lookup would then require session type parsing in session node.
+ * Trade memory for speed, for now */
+ u32 *session_type_to_next;
+
+ /*
+ * Config parameters
+ */
+
+ /** Session manager is enabled */
+ u8 is_enabled;