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)
This commit is contained in:
Florin Coras 2019-09-19 08:19:44 -07:00 committed by Andrew Yourtchenko
parent 2fa9f679c8
commit 8e4afc86d2

View File

@ -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;