From bfed7c047d2807f835cd7b9ef0330d314ac0ebc5 Mon Sep 17 00:00:00 2001 From: Mohammed Hawari Date: Mon, 31 Aug 2020 17:23:45 +0200 Subject: 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 --- src/plugins/rdma/input.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/plugins/rdma') 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, -- cgit 1.2.3-korg