---
name: "rdma_listen"
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_listen"
---

# rdma\_listen(3)

Listen for incoming connection requests.

## NAME

rdma\_listen - Listen for incoming connection requests.

## SYNOPSIS

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

**int rdma\_listen** **(struct rdma\_cm\_id \****id***,** **int** *backlog***);**

## ARGUMENTS

- id

  RDMA identifier.

- backlog

  backlog of incoming connection requests.

## DESCRIPTION

Initiates a listen for incoming connection requests or datagram service lookup.  The listen will be restricted to the locally bound source address.

## RETURN VALUE

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

## NOTES

Users must have bound the rdma\_cm\_id to a local address by calling rdma\_bind\_addr before calling this routine.  If the rdma\_cm\_id is bound to a specific IP address, the listen will be restricted to that address and the associated RDMA device.  If the rdma\_cm\_id is bound to an RDMA port number only, the listen will occur across all RDMA devices.

## SEE ALSO

[rdma\_cm(7)](/rdma_cm/7.md), [rdma\_bind\_addr(3)](/rdma_bind_addr/3.md), [rdma\_connect(3)](/rdma_connect/3.md), [rdma\_accept(3)](/rdma_accept/3.md), [rdma\_reject(3)](/rdma_reject/3.md), [rdma\_get\_cm\_event(3)](/rdma_get_cm_event/3.md)
