---
name: "rdma_bind_addr"
section: "3"
platform: "linux"
package: "rdma-core"
version: "65.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/rdma_bind_addr"
---

# rdma\_bind\_addr(3)

Bind an RDMA identifier to a source address.

## NAME

rdma\_bind\_addr - Bind an RDMA identifier to a source address.

## SYNOPSIS

**#include \<rdma/rdma\_cma.h\>**

**int rdma\_bind\_addr** **(struct rdma\_cm\_id \****id***,** **struct sockaddr \****addr***);**

## ARGUMENTS

- id

  RDMA identifier.

- addr

  Local address information.  Wildcard values are permitted.

## DESCRIPTION

Associates a source address with an rdma\_cm\_id.  The address may be wildcarded.  If binding to a specific local address, the rdma\_cm\_id will also be bound to a local RDMA device.

## RETURN VALUE

Returns 0 on success, or -1 on error.  If an error occurs, errno will be set to indicate the failure reason.

## NOTES

Typically, this routine is called before calling rdma\_listen to bind to a specific port number, but it may also be called on the active side of a connection before calling rdma\_resolve\_addr to bind to a specific address.

If used to bind to port 0, the rdma\_cm will select an available port, which can be retrieved with [rdma\_get\_src\_port(3)](/rdma_get_src_port/3.md).

## SEE ALSO

[rdma\_create\_id(3)](/rdma_create_id/3.md), [rdma\_listen(3)](/rdma_listen/3.md), [rdma\_resolve\_addr(3)](/rdma_resolve_addr/3.md), [rdma\_create\_qp(3)](/rdma_create_qp/3.md), [rdma\_get\_local\_addr(3)](/rdma_get_local_addr/3.md), [rdma\_get\_src\_port(3)](/rdma_get_src_port/3.md)
