aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/session
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2018-08-23 16:27:05 -0700
committerMarco Varlese <marco.varlese@suse.de>2018-08-24 07:05:47 +0000
commit3ec66b023280b1aa4b2e92ae475ceb03e5ed3910 (patch)
tree101ab2c9f3266beac53007fadc3a60bbd3a46e05 /src/vnet/session
parentfcbda8951e68bf5755e9aa452706ab6af06828cc (diff)
tcp: fix cc recovery re-entry and persist timer pop
Change-Id: I89e8052f2d2c36dd3de5255c4ee570722dc58227 Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/session')
-rw-r--r--src/vnet/session/session.c4
-rw-r--r--src/vnet/session/session.h9
2 files changed, 11 insertions, 2 deletions
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 *