RDMA_LISTEN(3)
π RDMA_LISTEN(3) π
okay bestie, welcome to the librdmacm programmer's manual, and today's main character is rdma_listen β the one from <rdma/rdma_cma.h>. grab a boba, we're doing networking π§β¨
β¨ NAME β¨
rdma_listen β it's literally just sitting there, waiting for people to slide into your DMs. listen for incoming connection requests, periodt.
πΈ SYNOPSIS πΈ
#include <rdma/rdma_cma.h>
int rdma_listen (struct rdma_cm_id *id, int backlog);
π ARGUMENTS π
idβ the RDMA identifier. it's giving "this is me, this is my address" πbacklogβ the backlog of incoming connection requests. basically how many besties can be queued up waiting outside your door before it gets awkward.
π¦ DESCRIPTION π¦
so what does it actually do? it initiates a listen for incoming connection requests, or for datagram service lookup. that's the whole vibe. π
and here's the key deets: the listen is restricted to the locally bound source address. so it's not listening to the whole entire world, it's listening to your address specifically. very main character of it, ngl.
π RETURN VALUE π
- returns
0on success β¨ (we love a clean win) - returns
-1on error π
and if an error happens? errno gets set to indicate the failure reason. so if something goes wrong, don't just stand there β go check errno, she's trying to tell you something.
π₯ NOTES π₯
heads up bestie, this part matters a LOT.
users must have bound the rdma_cm_id to a local address by calling rdma_bind_addr before calling this routine. no bind, no listen. that's the rule. fr fr.
and the way it behaves depends on how you bound it:
- if the
rdma_cm_idis bound to a specific IP address, the listen will be restricted to that address and the associated RDMA device. locked in, exclusive, no sharing. π - if the
rdma_cm_idis bound to an RDMA port number only, the listen will occur across all RDMA devices. she's everywhere, she's in her era, no cap. π
π SEE ALSO π
okay that's the whole page, you ate that π«Ά this one's from <strong>librdmacm</strong>, dated <strong>2007-05-15</strong> β yes she's an icon from 2007 and she still serves, we love a vintage queen ππ bye bestie!!
π¦ where this page comes from
- alpine 3.24: rdma-core-doc 61.0-r0 Β· GPL-2.0-only OR BSD-2-Clause
- arch rolling: rdma-core 65.0-1 Β· GPL-2.0-or-later OR LicenseRef-OpenIB.org-BSD-MIT AND GPL-2.0-or-later OR LicenseRef-OpenIB.org-BSD-FreeBSD AND GPL-2.0-or-later OR LicenseRef-Intel-BSD-3-Clause AND GPL-2.0-or-later OR LicenseRef-PathScale-BSD-Patent-License AND CC0-1.0 AND MIT AND BSD-2-Clause AND CPL-1.0 OR BSD-2-Clause OR GPL-2.0-or-later
- centos-stream 10: rdma-core-devel 62.0-3.el10 Β· GPLv2 or BSD
- centos-stream 9: rdma-core-devel 61.0-3.el9 Β· GPLv2 or BSD
- centos-stream 9: rdma-core-devel 61.0-3.el9 Β· GPLv2 or BSD
- debian bookworm: librdmacm-dev 44.0-2 Β· BSD-MIT OR GPL-2.0-only
- debian trixie: librdmacm-dev 56.1-1 Β· BSD-MIT OR GPL-2.0-only
- fedora 43: rdma-core-devel 58.0-4.fc43 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 43: rdma-core-devel 58.0-4.fc43 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: rdma-core-devel 61.0-2.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: rdma-core-devel 61.0-2.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: rdma-core-devel 61.1^20260812git975bdaf-1.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: rdma-core-devel 61.1^20260812git975bdaf-1.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- nixos 26.05: rdma-core 62.0
- nixpkgs unstable: rdma-core 65.0
- opensuse-leap 16.0: rdma-core-devel 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: rdma-core-devel 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: rdma-core-devel 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: rdma-core-devel 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- ubuntu jammy: librdmacm-dev 39.0-1 Β· BSD-MIT OR GPL-2.0-only
- ubuntu noble: librdmacm-dev 50.0-2build2 Β· BSD-MIT OR GPL-2.0-only
- ubuntu noble: librdmacm-dev 50.0-2ubuntu0.2 Β· BSD-MIT OR GPL-2.0-only
- ubuntu questing: librdmacm-dev 56.1-1ubuntu1
- ubuntu resolute: librdmacm-dev 61.0-2ubuntu3 Β· BSD-MIT OR GPL-2.0-only
- ubuntu stonking: librdmacm-dev 64.0-1ubuntu1 Β· BSD-MIT OR GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms