aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2020-04-19 22:41:55 +0000
committerAndrew Yourtchenko <ayourtch@gmail.com>2020-08-13 17:20:47 +0000
commit3ef5447282b6664249f4e8f188d1378c17e1e89a (patch)
tree733252b45cae9dfa2b727a91cea050b650b80d09
parent188d2c481e34e7403efa357089b66bebbd95a0dc (diff)
session: avoid rx notifications on accepting sessions
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iba37e528e968104c3ba9c8324438ba695ddddfd1 (cherry picked from commit da302e4fce1003a2fdd2ace7e1ae09987399092c)
-rw-r--r--src/vnet/session/session.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c
index 258a15898b6..0e4651a0ebd 100644
--- a/src/vnet/session/session.c
+++ b/src/vnet/session/session.c
@@ -573,6 +573,11 @@ session_enqueue_notify_inline (session_t * s)
SESSION_EVT (SESSION_EVT_ENQ, s, svm_fifo_max_dequeue_prod (s->rx_fifo));
s->flags &= ~SESSION_F_RX_EVT;
+
+ /* Application didn't confirm accept yet */
+ if (PREDICT_FALSE (s->session_state == SESSION_STATE_ACCEPTING))
+ return 0;
+
if (PREDICT_FALSE (app_worker_lock_and_send_event (app_wrk, s,
SESSION_IO_EVT_RX)))
return -1;