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 <damarion@cisco.com>
This commit is contained in:
Damjan Marion
2021-05-12 14:43:21 +02:00
parent ee32d66802
commit 8b4d474abd

View File

@ -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