RDMA_XCLIENT(1)
π RDMA_XCLIENT π
okay bestie so this is a page from the librdmacm manual, and it's about rdma_xclient β a whole little test program for talking RDMA. let's get into it π«Ά
β¨ NAME β¨
rdma_xclient β the RDMA CM communication client test program, aka the little buddy that calls up the server π
πΈ SYNOPSIS πΈ
rdma_xclient [-s server_address] [-p server_port] [-c comm_type]
π¦ DESCRIPTION π¦
So what's the vibe? This thing uses synchronous librdmam calls to set up an RDMA connection between two nodes. that's it, that's the whole job β¨
and like, the point of it? it's meant to be a super simple coding example of how to use RDMA. a starter pack, a beginner-friendly little guy, a tutorial you can actually run. no cap π
π OPTIONS π
-sserver_address β tells it the address of the system that therdma_serveris running on. and if you just... don't say anything? the client will try to connect to the server using127.0.0.1by default. localhost bestie behavior π-pserver_port β the port number the server listens on. default? the server listens on port7471. iconic number, don't forget it π-ccommunication type β picks what kind of communication gets established with the server program:'r'β uses a reliable-connected QP. and yes, this is the default π'x'β uses extended reliable-connected XRC QPs π₯
π NOTES π
Basic usage is literally: start up rdma_xserver, then connect to the server using the rdma_client program. that's the whole loop, go off π
β οΈ real talk though β because this test maps RDMA resources to userspace, users must make sure they have available system resources and permissions. it will not be cute if you skip this. check the libibverbs README file for all the additional details, fr fr π
π SEE ALSO π
and that's the page!! brought to you by librdmacm, dated 2011-06-15 β yes she's an elder but she still slays β mwah, go connect some nodes 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: librdmacm-utils 62.0-3.el10 Β· GPLv2 or BSD
- centos-stream 9: librdmacm-utils 61.0-3.el9 Β· GPLv2 or BSD
- debian bookworm: rdmacm-utils 44.0-2 Β· BSD-MIT OR GPL-2.0-only
- debian trixie: rdmacm-utils 56.1-1 Β· BSD-MIT OR GPL-2.0-only
- fedora 43: librdmacm-utils 58.0-4.fc43 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: librdmacm-utils 61.0-2.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: librdmacm-utils 61.1^20260812git975bdaf-1.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- nixos 26.05: rdma-core 62.0
- nixpkgs unstable: rdma-core 65.0
- opensuse-leap 16.0: librdmacm-utils 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: librdmacm-utils 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: librdmacm-utils 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: librdmacm-utils 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- ubuntu jammy: rdmacm-utils 39.0-1 Β· BSD-MIT OR GPL-2.0-only
- ubuntu noble: rdmacm-utils 50.0-2build2 Β· BSD-MIT OR GPL-2.0-only
- ubuntu noble: rdmacm-utils 50.0-2ubuntu0.2 Β· BSD-MIT OR GPL-2.0-only
- ubuntu questing: rdmacm-utils 56.1-1ubuntu1
- ubuntu resolute: rdmacm-utils 61.0-2ubuntu3 Β· BSD-MIT OR GPL-2.0-only
- ubuntu stonking: rdmacm-utils 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