vcl: handle svm fifo write failure 48/28648/1
authorFlorin Coras <fcoras@cisco.com>
Thu, 3 Sep 2020 03:52:58 +0000 (20:52 -0700)
committerFlorin Coras <fcoras@cisco.com>
Thu, 3 Sep 2020 03:52:58 +0000 (20:52 -0700)
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I4b132cad8ff906ef24846cc43935ccfd6aa7b4ec

src/vcl/vppcom.c

index 71578b0..9174e5d 100644 (file)
@@ -2172,7 +2172,9 @@ vppcom_session_write_inline (vcl_worker_t * wrk, vcl_session_t * s, void *buf,
     app_send_io_evt_to_vpp (s->vpp_evt_q, s->tx_fifo->master_session_index,
                            et, SVM_Q_WAIT);
 
-  ASSERT (n_write > 0);
+  /* The underlying fifo segment can run out of memory */
+  if (PREDICT_FALSE (n_write < 0))
+    return VPPCOM_EAGAIN;
 
   VDBG (2, "session %u [0x%llx]: wrote %d bytes", s->session_index,
        s->vpp_handle, n_write);