NAME¶
rdma_post_readv - post an RDMA read work request.
SYNOPSIS¶
#include <rdma/rdma_verbs.h>
int rdma_post_readv (struct rdma_cm_id *id, void
*context, struct ibv_sge *sgl, int
nsge, int flags, uint64_t
remote_addr, uint32_t rkey);
ARGUMENTS¶
- id
- A reference to a communication identifier where the request
will be posted.
- context
- User-defined context associated with the request.
- sgl
- A scatter-gather list of the destination buffers of the
read.
- nsge
- The number of scatter-gather array entries.
- flags
- Optional flags used to control the read operation.
- remote_addr
- The address of the remote registered memory to read
from.
- rkey
- The registered memory key associated with the remote
address.
DESCRIPTION¶
Posts a work request to the send queue of the queue pair associated with the
rdma_cm_id. The contents of the remote memory region will be read into the
local data buffers.
RETURN VALUE¶
Returns 0 on success, or -1 on error. If an error occurs, errno will be set to
indicate the failure reason.
NOTES¶
For a list of supported flags, see ibv_post_send. Both the remote and local data
buffers must have been registered before the read is issued, and the buffers
must remain registered until the read completes.
Read operations may not be posted to an rdma_cm_id or the corresponding queue
pair until it has been connected.
The user-defined context associated with the read request will be returned to
the user through the work completion wr_id, work request identifier, field.
SEE ALSO¶
rdma_cm(7),
rdma_connect(3),
rdma_accept(3), ibv_post_send(3),
rdma_post_read(3),
rdma_reg_read(3),
rdma_reg_msgs(3)