NAME¶
rdma_post_sendv - post a work request to send a message.
SYNOPSIS¶
#include <rdma/rdma_verbs.h>
int rdma_post_sendv (struct rdma_cm_id *id, void
*context, struct ibv_sge *slg, int
nsge, int flags);
ARGUMENTS¶
- id
- A reference to a communication identifier where the message
buffer will be posted.
- context
- User-defined context associated with the request.
- slg
- A scatter-gather list of memory buffers posted as a single
request.
- nsge
- The number of scatter-gather entries in the slg array.
- flags
- Optional flags used to control the send operation.
DESCRIPTION¶
Posts a work request to the send queue of the queue pair associated with the
rdma_cm_id. The contents of the posted buffers will be sent to the remote peer
of a connection.
RETURN VALUE¶
Returns 0 on success, or -1 on error. If an error occurs, errno will be set to
indicate the failure reason.
NOTES¶
The user is responsible for ensuring that the remote peer has queued a receive
request before issuing the send operations. For a list of supported flags, see
ibv_post_send. Unless the send request is using inline data, the message
buffers must have been registered before being posted, and the buffers must
remain registered until the send completes.
Send 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 send 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_send(3),
rdma_post_recv(3)