summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2019-11-08 15:32:05 -0800
committerJohn Lo <loj@cisco.com>2019-11-10 03:33:31 +0000
commitaa43914df656bbd7340b8dbd68f23f8fe0aabfd5 (patch)
tree2b6c354075a8fb09ec42af60912e6d08342ed7e2
parentfd4c3fe364becc02527ed5f9088d904c7bc34a6f (diff)
session: re-set tx fifo event if out of buffers
Type: fix Change-Id: I7416e827fbc5c63d082273656441c81dd6246d8a Signed-off-by: Florin Coras <fcoras@cisco.com>
-rw-r--r--src/vnet/session/session_node.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vnet/session/session_node.c b/src/vnet/session/session_node.c
index 865c8b7a607..e1114b794e6 100644
--- a/src/vnet/session/session_node.c
+++ b/src/vnet/session/session_node.c
@@ -903,7 +903,8 @@ session_tx_fifo_read_and_snd_i (session_worker_t * wrk,
{
if (n_bufs)
vlib_buffer_free (vm, wrk->tx_buffers, n_bufs);
- session_evt_add_head_old (wrk, elt);
+ if (svm_fifo_set_event (ctx->s->tx_fifo))
+ session_evt_add_head_old (wrk, elt);
vlib_node_increment_counter (wrk->vm, node->node_index,
SESSION_QUEUE_ERROR_NO_BUFFER, 1);
return SESSION_TX_NO_BUFFERS;