summaryrefslogtreecommitdiffstats
path: root/src/vnet/session/session.c
diff options
context:
space:
mode:
authorDave Barach <dbarach@cisco.com>2017-05-16 17:41:34 -0400
committerFlorin Coras <florin.coras@gmail.com>2017-05-17 04:52:46 +0000
commitacd2a6a32cebab70a054e9335e446798538d0524 (patch)
treea1202b3b20ae022894af6ceb9bd09a2ecb98f972 /src/vnet/session/session.c
parentd5b6aa139856a1447f7bc5377058202110eaa4cf (diff)
VPP-846: tcp perf / scale / hardening
Fix builtin server event queue handling Change-Id: I21b49c37188746cadb2fd9423291c5dc1335798c Signed-off-by: Dave Barach <dbarach@cisco.com>
Diffstat (limited to 'src/vnet/session/session.c')
-rw-r--r--src/vnet/session/session.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c
index d0792faec09..c5aaf2e2b15 100644
--- a/src/vnet/session/session.c
+++ b/src/vnet/session/session.c
@@ -732,10 +732,6 @@ stream_session_connect_notify (transport_connection_t * tc, u8 sst,
/* Cleanup session lookup */
stream_session_half_open_table_del (smm, sst, tc);
-
- /* Add to established lookup table */
- handle = (((u64) tc->thread_index) << 32) | (u64) new_s->session_index;
- stream_session_table_add_for_tc (tc, handle);
}
void
@@ -1091,11 +1087,19 @@ session_manager_main_enable (vlib_main_t * vm)
vec_validate (smm->sessions, num_threads - 1);
vec_validate (smm->session_indices_to_enqueue_by_thread, num_threads - 1);
vec_validate (smm->tx_buffers, num_threads - 1);
- vec_validate (smm->fifo_events, num_threads - 1);
- vec_validate (smm->evts_partially_read, num_threads - 1);
+ vec_validate (smm->pending_event_vector, num_threads - 1);
+ vec_validate (smm->free_event_vector, num_threads - 1);
vec_validate (smm->current_enqueue_epoch, num_threads - 1);
vec_validate (smm->vpp_event_queues, num_threads - 1);
+ for (i = 0; i < num_threads; i++)
+ {
+ vec_validate (smm->free_event_vector[i], 0);
+ _vec_len (smm->free_event_vector[i]) = 0;
+ vec_validate (smm->pending_event_vector[i], 0);
+ _vec_len (smm->pending_event_vector[i]) = 0;
+ }
+
#if SESSION_DBG
vec_validate (smm->last_event_poll_by_thread, num_threads - 1);
#endif