From 7a105fdad6d44519fd31beb15fdc1c79fdd82e6f Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Thu, 3 Dec 2020 18:19:39 -0800 Subject: udp session: fix deq notification for dgrams Type: fix Signed-off-by: Florin Coras Change-Id: I1440c11fb9d962a05d877aebb4de364c86f9953e --- src/vnet/session/session_node.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/vnet') diff --git a/src/vnet/session/session_node.c b/src/vnet/session/session_node.c index 12080122c8e..2fde85b03ec 100644 --- a/src/vnet/session/session_node.c +++ b/src/vnet/session/session_node.c @@ -1128,7 +1128,10 @@ session_tx_fifo_read_and_snd_i (session_worker_t * wrk, if (!peek_data) { - if (svm_fifo_needs_deq_ntf (ctx->s->tx_fifo, ctx->max_len_to_snd)) + u32 n_dequeued = ctx->max_len_to_snd; + if (ctx->transport_vft->transport_options.tx_type == TRANSPORT_TX_DGRAM) + n_dequeued += ctx->n_segs_per_evt * SESSION_CONN_HDR_LEN; + if (svm_fifo_needs_deq_ntf (ctx->s->tx_fifo, n_dequeued)) session_dequeue_notify (ctx->s); } return SESSION_TX_OK; -- cgit 1.2.3-korg