I suggest this in rping_setup_buffers: while (!rc = ibv_post_recv(cbp->qp, &cbp->rq_wr, &bad_wr)); This way you will never have 0 end-to-end credits. -- Michael S. Tsirkin Staff Engineer, Mellanox Technologies