From: Damjan Marion Date: Wed, 12 May 2021 12:43:21 +0000 (+0200) Subject: avf: avoid eating our own tail X-Git-Tag: v21.10-rc0~80 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=8b4d474abd62c623502ad9a4a279a9b4535ca0c1;p=vpp.git avf: avoid eating our own tail This happens in case we are not able to refill ring with new buffers. Type: fix Change-Id: I727e55c5b8482d9b8aeb4a9933a9a755fe21e55f Signed-off-by: Damjan Marion --- diff --git a/src/plugins/avf/input.c b/src/plugins/avf/input.c index 6e437da2a16..4d037b44a28 100644 --- a/src/plugins/avf/input.c +++ b/src/plugins/avf/input.c @@ -428,6 +428,9 @@ no_more_desc: rxq->next = next; rxq->n_enqueued -= n_rx_packets + n_tail_desc; + /* avoid eating our own tail */ + rxq->descs[(next + rxq->n_enqueued) & mask].qword[1] = 0; + #if defined(CLIB_HAVE_VEC256) || defined(CLIB_HAVE_VEC128) or_qw1 |= or_q1x4[0] | or_q1x4[1] | or_q1x4[2] | or_q1x4[3]; #endif