---
name: "rdma_post_sendv"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/rdma_post_sendv"
---

# rdma\_post\_sendv(3)

post a work request to send a message.

## 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_cm/7.md), [rdma\_connect(3)](/rdma_connect/3.md), [rdma\_accept(3)](/rdma_accept/3.md), [ibv\_post\_send(3)](/ibv_post_send/3.md), [rdma\_post\_send(3)](/rdma_post_send/3.md), [rdma\_post\_recv(3)](/rdma_post_recv/3.md)
