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 <mohammed@hawari.fr>
This commit is contained in:
Mohammed Hawari
2020-08-31 17:23:45 +02:00
committed by Damjan Marion
parent dfb30d9d30
commit bfed7c047d

View File

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