NAME¶
rdma_post_ud_send - post a work request to send a datagram.
SYNOPSIS¶
#include <rdma/rdma_verbs.h>
int rdma_post_ud_send (struct rdma_cm_id *id,
void *context, void *addr, size_t
length, struct ibv_mr *mr, int
flags, struct ibv_ah *ah, uint32_t
remote_qpn);
ARGUMENTS¶
- 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
- Optional registered memory region associated with the
posted buffer.
- flags
- Optional flags used to control the send operation.
- ah
- An address handle describing the address of the remote
node.
- remote_qpn
- The number of the destination queue pair.
DESCRIPTION¶
Posts a work request to the send queue of the queue pair associated with the
rdma_cm_id. The contents of the posted buffer will be sent to the specified
destination queue pair.
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 destination queue pair 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 buffer must have been registered before being posted, with the mr
parameter referencing the registration. The buffer must remain registered
until the send completes.
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),
rdma_reg_msgs(3) ibv_post_send(3),
rdma_post_recv(3)