X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fsession.c;h=f33dbea9a1ef550b44d6a7e3539ca498de90bf85;hb=7b3a3df26;hp=f6b61abc2e06a4e46a75926bebac444e3a6f4d30;hpb=374df7a29407b706a5fb4fe6a6f1a7b84ec4a60e;p=vpp.git diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c index f6b61abc2e0..f33dbea9a1e 100644 --- a/src/vnet/session/session.c +++ b/src/vnet/session/session.c @@ -347,16 +347,15 @@ void session_half_open_delete_notify (transport_connection_t *tc) { /* Notification from ctrl thread accepted without rpc */ - if (tc->thread_index <= 1) + if (!tc->thread_index) { session_half_open_free (ho_session_get (tc->s_index)); } else { void *args = uword_to_pointer ((uword) tc->s_index, void *); - u32 ctrl_thread = vlib_num_workers () ? 1 : 0; - session_send_rpc_evt_to_thread (ctrl_thread, session_half_open_free_rpc, - args); + session_send_rpc_evt_to_thread_force (0, session_half_open_free_rpc, + args); } } @@ -1288,8 +1287,6 @@ session_dgram_accept (transport_connection_t * tc, u32 listener_index, return rv; } - s->session_state = SESSION_STATE_READY; - return 0; } @@ -1818,9 +1815,11 @@ session_manager_main_enable (vlib_main_t * vm) wrk->ctrl_head = clib_llist_make_head (wrk->event_elts, evt_list); wrk->new_head = clib_llist_make_head (wrk->event_elts, evt_list); wrk->old_head = clib_llist_make_head (wrk->event_elts, evt_list); + wrk->pending_connects = clib_llist_make_head (wrk->event_elts, evt_list); wrk->vm = vlib_get_main_by_index (i); wrk->last_vlib_time = vlib_time_now (vm); wrk->last_vlib_us_time = wrk->last_vlib_time * CLIB_US_TIME_FREQ; + wrk->timerfd = -1; vec_validate (wrk->session_to_enqueue, smm->last_transport_proto_type); if (num_threads > 1) @@ -1900,6 +1899,7 @@ session_node_enable_disable (u8 is_en) vlib_node_set_state (vm, session_queue_node.index, mstate); if (is_en) { + session_main_get_worker (0)->state = SESSION_WRK_INTERRUPT; vlib_node_set_state (vm, session_queue_process_node.index, state); n = vlib_get_node (vm, session_queue_process_node.index); @@ -1963,7 +1963,7 @@ session_main_init (vlib_main_t * vm) smm->evt_qs_segment_size = 1 << 20; #endif - smm->last_transport_proto_type = TRANSPORT_PROTO_DTLS; + smm->last_transport_proto_type = TRANSPORT_PROTO_SRTP; return 0; } @@ -2069,7 +2069,7 @@ session_config_fn (vlib_main_t * vm, unformat_input_t * input) else if (unformat (input, "segment-baseva 0x%lx", &smm->session_baseva)) ; else if (unformat (input, "use-app-socket-api")) - appns_sapi_enable (); + (void) appns_sapi_enable_disable (1 /* is_enable */); else if (unformat (input, "poll-main")) smm->poll_main = 1; else if (unformat (input, "use-private-rx-mqs"))