Hi While implementing user verbs, especially for rdma send operation, I wanted to check with the list to confirm our understanding. The typical flow is the user space application allocates memory(VA), and then it registers memory through reg_mr verb. For SEND operation only L_KEY is needed, and R_KEY is not needed. As usual the kernel pins this memory via ib_umem_get. Later the application shall call ibv_post_send with the VA (if its server), if its client it shall call ibv_post_recv with the VA. The verbs implementation, shall program hw wqe via mmap'ed registers. Later the application shall invoke doorbell via mmap'ed hw registers. The underlying assumption being the HW shall use its own implementation(mtt or other) to figure the right PA for this VA and do the send or receive. All this scheme happens with complete kernel bypass except for memory registration step. But for kernel space QP1(gsi), the kernel is posing wr's for send/receive with dma_addr/PA, and as such the memory is not registered in this case. Thanks -syed This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.