session: re-set tx fifo event if out of buffers 08/23508/2
authorFlorin Coras <[email protected]>
Fri, 8 Nov 2019 23:32:05 +0000 (15:32 -0800)
committerAndrew Yourtchenko <[email protected]>
Thu, 6 Feb 2020 12:18:47 +0000 (12:18 +0000)
Type: fix

Change-Id: I7416e827fbc5c63d082273656441c81dd6246d8a
Signed-off-by: Florin Coras <[email protected]>
(cherry picked from commit aa43914df656bbd7340b8dbd68f23f8fe0aabfd5)

src/vnet/session/session_node.c

index bc7fe6e..78f284a 100644 (file)
@@ -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;