RDMA_POST_RECV(3) Librdmacm Programmer's Manual RDMA_POST_RECV(3)
rdma_post_recv - post a work request to receive an incoming message.
#include <rdma/rdma_verbs.h> int rdma_post_recv (struct rdma_cm_id *id, void *context, void *addr, size_t length, struct ibv_mr *mr);
id A reference to a communication identifier where the message buffer will be posted. context User-defined context associated with the request. addr The address of the memory buffer to post. length The length of the memory buffer. mr A registered memory region associated with the posted buffer.
Posts a work request to the receive queue of the queue pair associated with the rdma_cm_id. The posted buffer will be queued to receive an incoming message sent by the remote peer.
Returns 0 on success, or -1 on error. If an error occurs, errno will be set to indicate the failure reason.
The user is responsible for ensuring that a receive buffer is posted and large enough to contain all sent data before the peer posts the corresponding send message. The message buffer must have been registered before being posted, with the mr parameter referencing the registration. The buffer must remain registered until the receive completes. Messages may be posted to an rdma_cm_id only after a queue pair has been associated with it. A queue pair is bound to an rdma_cm_id after calling rdma_create_ep or rdma_create_qp, if the rdma_cm_id is allocated using rdma_create_id. The user-defined context associated with the receive request will be returned to the user through the work completion wr_id, work request identifier, field.
rdma_cm(7), rdma_create_id(3), rdma_create_ep(3), rdma_create_qp(3), rdma_reg_read(3), ibv_reg_mr(3), ibv_dereg_mr(3), rdma_post_recvv(3), rdma_post_send(3)
This page is part of the rdma-core (RDMA Core Userspace Libraries and Daemons) project. Information about the project can be found at ⟨https://github.com/linux-rdma/rdma-core⟩. If you have a bug report for this manual page, send it to firstname.lastname@example.org. This page was obtained from the project's upstream Git repository ⟨https://github.com/linux-rdma/rdma-core.git⟩ on 2021-06-20. (At that time, the date of the most recent commit that was found in the repository was 2021-06-16.) If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up-to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which is not part of the original manual page), send a mail to email@example.com librdmacm 2010-07-19 RDMA_POST_RECV(3)
Pages that refer to this page: rdma_post_recvv(3), rdma_post_send(3), rdma_post_sendv(3), rdma_post_ud_send(3), rdma_reg_msgs(3), rdma_cm(7)