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);
}
}
return rv;
}
- s->session_state = SESSION_STATE_READY;
-
return 0;
}
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)
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);
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;
}
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"))