From: Mohammed Hawari Date: Mon, 31 Aug 2020 15:23:45 +0000 (+0200) Subject: rdma: bugfix in the descriptor refill logic. In case of a partial allocation, the... X-Git-Tag: v21.01-rc0~69 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=bfed7c047d2807f835cd7b9ef0330d314ac0ebc5;p=vpp.git rdma: bugfix in the descriptor refill logic. In case of a partial allocation, the remainder modulo 8 must be returned to the pool so that the number of kept buffers is a multiple of 8. Type: fix Change-Id: Ifd97b03ea220300e7e6fe81a8ff4a25060fea6c1 Signed-off-by: Mohammed Hawari --- diff --git a/src/plugins/rdma/input.c b/src/plugins/rdma/input.c index 80c211bae15..3842a58a4ab 100644 --- a/src/plugins/rdma/input.c +++ b/src/plugins/rdma/input.c @@ -92,7 +92,7 @@ rdma_device_input_refill (vlib_main_t * vm, rdma_device_t * rd, } /* partial allocation, round and return rest */ - n_free = n - (n & 7); + n_free = n & 7; n -= n_free; if (n_free) vlib_buffer_free_from_ring (vm, rxq->bufs, (slot + n) & mask,