From 3ec66b023280b1aa4b2e92ae475ceb03e5ed3910 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Thu, 23 Aug 2018 16:27:05 -0700 Subject: tcp: fix cc recovery re-entry and persist timer pop Change-Id: I89e8052f2d2c36dd3de5255c4ee570722dc58227 Signed-off-by: Florin Coras --- src/vnet/session/session.c | 4 ++-- src/vnet/session/session.h | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'src/vnet/session') diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c index 6378fe8e299..9790ec25edd 100644 --- a/src/vnet/session/session.c +++ b/src/vnet/session/session.c @@ -491,9 +491,9 @@ session_enqueue_notify (stream_session_t * s, u8 lock) application_t *app; app = application_get_if_valid (s->app_index); - if (PREDICT_FALSE (app == 0)) + if (PREDICT_FALSE (!app)) { - clib_warning ("invalid s->app_index = %d", s->app_index); + TCP_DBG ("invalid s->app_index = %d", s->app_index); return 0; } diff --git a/src/vnet/session/session.h b/src/vnet/session/session.h index 5e94c41f927..63ed83d40df 100644 --- a/src/vnet/session/session.h +++ b/src/vnet/session/session.h @@ -571,6 +571,15 @@ void session_register_transport (transport_proto_t transport_proto, const transport_proto_vft_t * vft, u8 is_ip4, u32 output_node); +always_inline void +transport_add_tx_event (transport_connection_t * tc) +{ + stream_session_t *s = session_get (tc->s_index, tc->thread_index); + if (svm_fifo_has_event (s->server_tx_fifo)) + return; + session_send_io_evt_to_thread (s->server_tx_fifo, FIFO_EVENT_APP_TX); +} + clib_error_t *vnet_session_enable_disable (vlib_main_t * vm, u8 is_en); always_inline svm_msg_q_t * -- cgit 1.2.3-korg