aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/session/session_node.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2020-04-07 03:46:07 +0000
committerDave Barach <openvpp@barachs.net>2020-04-07 14:46:47 +0000
commitab57edb8d27ddf0fb30cd0f4ae5290c06f301599 (patch)
tree1dcfb91dac9c9bebdf36707f183d3f12b0982b42 /src/vnet/session/session_node.c
parentba78e2380e86926c7e29bc3538eb7ac4e78699b1 (diff)
udp session: allow dgram ip fragmentation
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ida8f9e759b4990ea6e34e71dc45bdb3b5eabc27f
Diffstat (limited to 'src/vnet/session/session_node.c')
-rw-r--r--src/vnet/session/session_node.c11
1 files changed, 3 insertions, 8 deletions
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);
}