summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/quic/quic.c5
-rw-r--r--src/vnet/session/session.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/plugins/quic/quic.c b/src/plugins/quic/quic.c
index a990d0448bf..343e6b83222 100644
--- a/src/plugins/quic/quic.c
+++ b/src/plugins/quic/quic.c
@@ -1839,10 +1839,15 @@ quic_del_segment_callback (u32 client_index, u64 seg_handle)
static int
quic_custom_app_rx_callback (transport_connection_t * tc)
{
+ quic_ctx_t *ctx;
session_t *stream_session = session_get (tc->s_index, tc->thread_index);
QUIC_DBG (2, "Received app READ notification");
quic_ack_rx_data (stream_session);
svm_fifo_reset_has_deq_ntf (stream_session->rx_fifo);
+ /* Need to send packets (acks may never be sent otherwise) */
+ ctx = quic_ctx_get (stream_session->connection_index,
+ stream_session->thread_index);
+ quic_send_packets (ctx);
return 0;
}
diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c
index 3732e4cb708..faaaad4bada 100644
--- a/src/vnet/session/session.c
+++ b/src/vnet/session/session.c
@@ -55,6 +55,7 @@ session_send_evt_to_thread (void *data, void *args, u32 thread_index,
evt->rpc_args.fp = data;
evt->rpc_args.arg = args;
break;
+ case SESSION_IO_EVT_RX:
case SESSION_IO_EVT_TX:
case SESSION_IO_EVT_TX_FLUSH:
case SESSION_IO_EVT_BUILTIN_RX: