svm_fifo_t *server_rx_fifo;
svm_fifo_t *server_tx_fifo;
- /** svm segment index where fifos were allocated */
- u32 svm_segment_index;
-
/** Type */
u8 session_type;
/** To avoid n**2 "one event per frame" check */
u8 enqueue_epoch;
+ /** Pad to a multiple of 8 octets */
+ u8 align_pad[2];
+
+ /** svm segment index where fifos were allocated */
+ u32 svm_segment_index;
+
/** Session index in per_thread pool */
u32 session_index;
/** Parent listener session if the result of an accept */
u32 listener_index;
+
+ /** Opaque, pad to a 64-octet boundary */
+ u64 opaque[2];
} stream_session_t;
/* Forward definition */
}
int
-stream_session_enqueue_data (transport_connection_t * tc, u8 * data, u16 len,
- u8 queue_event);
+stream_session_enqueue_data (transport_connection_t * tc, vlib_buffer_t * b,
+ u32 offset, u8 queue_event, u8 is_in_order);
u32
stream_session_peek_bytes (transport_connection_t * tc, u8 * buffer,
u32 offset, u32 max_bytes);
listen_session_new (session_type_t type)
{
stream_session_t *s;
- pool_get (session_manager_main.listen_sessions[type], s);
+ pool_get_aligned (session_manager_main.listen_sessions[type], s,
+ CLIB_CACHE_LINE_BYTES);
memset (s, 0, sizeof (*s));
s->session_type = type;