X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=blobdiff_plain;f=src%2Fvcl%2Fvppcom.c;fp=src%2Fvcl%2Fvppcom.c;h=a0bbae170f8e46be41d570ac63bc6faa4b9b3ae0;hp=a0a0336c7877ab13a33d0b51cea8238c7f7a977f;hb=8ae63db02066a2b5ac18a89fd63dc0dd2a811ab3;hpb=a8d266a7a4bf1188739dcd6d3ddcc8173282d95d diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c index a0a0336c787..a0bbae170f8 100644 --- a/src/vcl/vppcom.c +++ b/src/vcl/vppcom.c @@ -3585,7 +3585,19 @@ vppcom_session_attr (uint32_t session_handle, uint32_t op, VDBG (2, "VPPCOM_ATTR_GET_NWRITE: sh %u, nwrite = %d", session_handle, rv); break; - + case VPPCOM_ATTR_GET_NWRITEQ: + if (PREDICT_FALSE (!buffer || !buflen || *buflen != sizeof (int))) + { + rv = VPPCOM_EINVAL; + break; + } + if (!session->tx_fifo || session->session_state == VCL_STATE_DETACHED) + { + rv = VPPCOM_EINVAL; + break; + } + *(int *) buffer = svm_fifo_max_dequeue (session->tx_fifo); + break; case VPPCOM_ATTR_GET_FLAGS: if (PREDICT_TRUE (buffer && buflen && (*buflen >= sizeof (*flags)))) {