RDMA_POST_READ
Section: Librdmacm Programmer's Manual (3)
Updated: 2010-07-19
Page Index
NAME
rdma_post_read - post an RDMA read work request.
SYNOPSIS
#include <rdma/rdma_verbs.h>
int rdma_post_read
(struct rdma_cm_id *id,
void *context,
void *addr,
size_t length,
struct ibv_mr *mr,
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.
- addr
-
The address of the local destination of the read request.
- length
-
The length of the read operation.
- mr
-
Registered memory region associated with the local buffer.
- 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 buffer.
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_readv(3),
rdma_reg_read(3),
rdma_reg_msgs(3)