From ab57edb8d27ddf0fb30cd0f4ae5290c06f301599 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Tue, 7 Apr 2020 03:46:07 +0000 Subject: udp session: allow dgram ip fragmentation Type: improvement Signed-off-by: Florin Coras Change-Id: Ida8f9e759b4990ea6e34e71dc45bdb3b5eabc27f --- src/vnet/session/session_node.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'src/vnet/session') diff --git a/src/vnet/session/session_node.c b/src/vnet/session/session_node.c index 573fbe91b09..464e6a105f5 100644 --- a/src/vnet/session/session_node.c +++ b/src/vnet/session/session_node.c @@ -1030,18 +1030,13 @@ session_tx_fifo_read_and_snd_i (session_worker_t * wrk, else session_tx_maybe_reschedule (wrk, ctx, elt); - if (!peek_data - && ctx->transport_vft->transport_options.tx_type == TRANSPORT_TX_DGRAM) + if (!peek_data) { /* Fix dgram pre header */ - if (ctx->max_len_to_snd < ctx->max_dequeue) + if (ctx->transport_vft->transport_options.tx_type == TRANSPORT_TX_DGRAM + && ctx->max_len_to_snd < ctx->max_dequeue) svm_fifo_overwrite_head (ctx->s->tx_fifo, (u8 *) & ctx->hdr, sizeof (session_dgram_pre_hdr_t)); - /* More data needs to be read */ - else if (svm_fifo_max_dequeue_cons (ctx->s->tx_fifo) > 0) - if (svm_fifo_set_event (ctx->s->tx_fifo)) - session_evt_add_old (wrk, elt); - if (svm_fifo_needs_deq_ntf (ctx->s->tx_fifo, ctx->max_len_to_snd)) session_dequeue_notify (ctx->s); } -- cgit 1.2.3-korg