summaryrefslogtreecommitdiffstats
path: root/src/vnet/session
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2024-01-11 11:56:04 -0500
committerDave Barach <vpp@barachs.net>2024-01-15 13:11:24 +0000
commit66abf322830c2c97e5d9c7710ef7cffcd35fcad8 (patch)
tree7b90dade2d7e3c4798bd26febe9d80dca70960c9 /src/vnet/session
parent159ee88ff5f97566ac2fa1dc98c6958789aa51f4 (diff)
session: avoid spurious disconnect and reset ntfs
Type: fix Change-Id: Icdc9d1c8b7b29827ce17920dae64a365bb8a4e40 Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/session')
-rw-r--r--src/vnet/session/session_input.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/vnet/session/session_input.c b/src/vnet/session/session_input.c
index 91e4b90d167..e6868815158 100644
--- a/src/vnet/session/session_input.c
+++ b/src/vnet/session/session_input.c
@@ -194,11 +194,13 @@ app_worker_flush_events_inline (app_worker_t *app_wrk, u32 thread_index,
break;
case SESSION_CTRL_EVT_DISCONNECTED:
s = session_get (evt->session_index, thread_index);
- app->cb_fns.session_disconnect_callback (s);
+ if (s->session_state <= SESSION_STATE_TRANSPORT_CLOSING)
+ app->cb_fns.session_disconnect_callback (s);
break;
case SESSION_CTRL_EVT_RESET:
s = session_get (evt->session_index, thread_index);
- app->cb_fns.session_reset_callback (s);
+ if (s->session_state <= SESSION_STATE_TRANSPORT_CLOSING)
+ app->cb_fns.session_reset_callback (s);
break;
case SESSION_CTRL_EVT_UNLISTEN_REPLY:
if (is_builtin)