summaryrefslogtreecommitdiffstats
path: root/src/vnet/session
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2019-09-19 08:19:44 -0700
committerAndrew Yourtchenko <ayourtch@gmail.com>2019-09-30 15:30:00 +0000
commit8e4afc86d2e1853abcf0626902a2e75ef127b631 (patch)
tree3b9ac8ffcce3ffafd637385609bf280d3cdae939 /src/vnet/session
parent2fa9f679c89d2d25d0a2024e9faaedbd73cbbb61 (diff)
session: builtin app rx notifications regardless of state
Type: feature Provide rx notifications to builtin apps even after disconnect. Consequently tcp connections that are past FIN_WAIT_1 can still receive rx notifications. This is not currently supported for external applications. Change-Id: I529da7f7120b0e7c62c5026ac71f86d6b5196cf4 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 5c29029ef029edc96340f9eecf7fe24821f2ef2a)
Diffstat (limited to 'src/vnet/session')
-rw-r--r--src/vnet/session/application_worker.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/vnet/session/application_worker.c b/src/vnet/session/application_worker.c
index 28793681afb..30edf3c32cc 100644
--- a/src/vnet/session/application_worker.c
+++ b/src/vnet/session/application_worker.c
@@ -550,13 +550,15 @@ app_send_io_evt_rx (app_worker_t * app_wrk, session_t * s)
svm_msg_q_msg_t msg;
svm_msg_q_t *mq;
+ if (app_worker_application_is_builtin (app_wrk))
+ return app_worker_builtin_rx (app_wrk, s);
+
+ /* Make sure the session is in established state within external apps.
+ * Should be removed once we confirm closes to apps */
if (PREDICT_FALSE (s->session_state != SESSION_STATE_READY
&& s->session_state != SESSION_STATE_LISTENING))
return 0;
- if (app_worker_application_is_builtin (app_wrk))
- return app_worker_builtin_rx (app_wrk, s);
-
if (svm_fifo_has_event (s->rx_fifo))
return 0;