summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2018-10-06 13:49:16 -0700
committerDamjan Marion <dmarion@me.com>2018-10-07 12:39:47 +0000
commit58c101adf057fc118ccca6e5cb9d02b43499e56a (patch)
tree3f8fc01bbcca22a9aaa59a195ae4f5856f089e10
parent318de5de9765afb75522ad68da5f5a0371480098 (diff)
vcl: use want_tx_evt for ct sessions
Change-Id: Id46c651c41b1c633326081583ee3383e27ef475d Signed-off-by: Florin Coras <fcoras@cisco.com>
-rw-r--r--src/vcl/vppcom.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c
index 5423bb62f9e..3f12b86df42 100644
--- a/src/vcl/vppcom.c
+++ b/src/vcl/vppcom.c
@@ -1332,12 +1332,11 @@ vppcom_session_read_internal (uint32_t session_handle, void *buf, int n,
if (svm_fifo_is_empty (rx_fifo))
svm_fifo_unset_event (rx_fifo);
- if (is_ct && n_read + svm_fifo_max_dequeue (rx_fifo) == rx_fifo->nitems)
+ if (is_ct && svm_fifo_want_tx_evt (rx_fifo))
{
- /* If the peer is not polling send notification */
- if (!svm_fifo_has_event (s->rx_fifo))
- app_send_io_evt_to_vpp (s->vpp_evt_q, s->rx_fifo,
- SESSION_IO_EVT_CT_RX, SVM_Q_WAIT);
+ svm_fifo_set_want_tx_evt (s->rx_fifo, 0);
+ app_send_io_evt_to_vpp (s->vpp_evt_q, s->rx_fifo, SESSION_IO_EVT_CT_RX,
+ SVM_Q_WAIT);
}
VDBG (2, "VCL<%d>: vpp handle 0x%llx, sid %u: read %d bytes from (%p)",