RDMA_GET_LOCAL_ADDR(3)
π RDMA_GET_LOCAL_ADDR π
okay bestie, welcome to the Librdmacm Programmer's Manual β¨ this one is RDMA_GET_LOCAL_ADDR(3) and it's literally the chillest little function, I promise π«Ά
πΈ NAME πΈ
rdma_get_local_addr β gives you back the local IP address of an rdma_cm_id that's been bound. that's it. that's the whole job. she's simple, she's reliable, she ate π
β¨ SYNOPSIS β¨
#include <rdma/rdma_cma.h>
struct sockaddr * rdma_get_local_addr (struct rdma_cm_id *id);
look at her. one include, one call. no cap π
π¦ ARGUMENTS π¦
idβ the RDMA identifier. your main character struct, fr fr. this is therdma_cm_idyou want the local address of π
π DESCRIPTION π
so here's the vibe: this function returns the local IP address for an rdma_cm_id that has already been bound to a local device. that's the prerequisite bestie β bound to a local device β if it hasn't been bound, don't come crying to me, check the RETURN VALUE section below π
it's giving "I just want to know where I'm coming from." lowkey iconic energy honestly π
π RETURN VALUE π
- it returns a pointer to the local
sockaddraddress of therdma_cm_idπ« - and here's the important bit, bestie, do not skip this: if the
rdma_cm_idis not bound to an address, then the contents of thesockaddrstructure will be set to all zeroes. all zeroes. not an error code, not a NULL, just straight-up zeros π so if you're getting a suspiciously empty-looking address, that's why, and now you know π
π§ SEE ALSO π§
the girlies that hang out together:
rdma_bind_addr(3)rdma_resolve_addr(3)rdma_get_src_port(3)rdma_get_dst_port(3)rdma_get_peer_addr(3)
okay that's the whole page, you're fully caught up, go slay some RDMA π«Άπ
this one's from librdmacm, dated 2007-05-15, and yeah she's been serving since 2007 β vintage but never outdated, periodt πβ¨
π¦ 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