You seem to be doing memory allocations and frees for every packet on the write. At least for other RDMA protocols that would have been a major performance issue. Do you have any performance numbers and/or profiles of the code?