session: deliver rx ntfs if closed before established 72/43872/2
authorFlorin Coras <[email protected]>
Fri, 10 Oct 2025 06:56:53 +0000 (23:56 -0700)
committerFlorin Coras <[email protected]>
Fri, 10 Oct 2025 06:24:33 +0000 (06:24 +0000)
Type: improvement

Change-Id: I696f925011d7994c63921174c3c61af6e78189bd
Signed-off-by: Florin Coras <[email protected]>
src/vnet/session/session_input.c

index ca12ae5..4e601fe 100644 (file)
@@ -170,6 +170,8 @@ app_worker_flush_events_inline (app_worker_t *app_wrk,
                {
                  session_set_state (s,
                                     clib_max (old_state, s->session_state));
+                 if (svm_fifo_max_dequeue (s->rx_fifo))
+                   app->cb_fns.builtin_app_rx_callback (s);
                  if (!(s->flags & SESSION_F_APP_CLOSED))
                    app->cb_fns.session_disconnect_callback (s);
                }
@@ -203,6 +205,8 @@ app_worker_flush_events_inline (app_worker_t *app_wrk,
          if (old_state >= SESSION_STATE_TRANSPORT_CLOSING)
            {
              session_set_state (s, clib_max (old_state, s->session_state));
+             if (svm_fifo_max_dequeue (s->rx_fifo))
+               app->cb_fns.builtin_app_rx_callback (s);
              if (!(s->flags & SESSION_F_APP_CLOSED))
                app->cb_fns.session_disconnect_callback (s);
            }