summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2019-11-08 15:32:05 -0800
committerAndrew Yourtchenko <ayourtch@gmail.com>2020-02-06 12:18:47 +0000
commitc58ef62713a18497e7c56b4cc49699f5e5e57923 (patch)
tree83faef03887d2026d510514cd8c85b7b5de6f0b0
parent8427de5ab1a93495d2d33e9ab259c9dfc489ffee (diff)
session: re-set tx fifo event if out of buffers
Type: fix Change-Id: I7416e827fbc5c63d082273656441c81dd6246d8a Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit aa43914df656bbd7340b8dbd68f23f8fe0aabfd5)
-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 bc7fe6efe30..78f284ab607 100644
--- a/src/vnet/session/session_node.c
+++ b/src/vnet/session/session_node.c
@@ -899,7 +899,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;