diff options
Diffstat (limited to 'src/vnet/session/session.h')
-rw-r--r-- | src/vnet/session/session.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/vnet/session/session.h b/src/vnet/session/session.h index f152a2be0e2..5c281df7854 100644 --- a/src/vnet/session/session.h +++ b/src/vnet/session/session.h @@ -109,9 +109,6 @@ typedef struct _stream_session_t 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; @@ -126,6 +123,12 @@ typedef struct _stream_session_t /** 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; @@ -140,6 +143,9 @@ typedef struct _stream_session_t /** 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 */ @@ -418,7 +424,8 @@ always_inline stream_session_t * 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; |