UDADDY(1)
β¨ UDADDY β¨
okay bestie, welcome to the udaddy page from the librdmacm manual π
this one's all about RDMA CM datagram setup and a lil simple ping-pong test, and honestly? it's giving networking main character energy π¦
π SYNOPSIS π
udaddy [-s server_address] [-b bind_address] [-c connections]
[-C message_count] [-S message_size] [-p port_space]
udaddy -s server_address [-b bind_address] [-c connections]
[-C message_count] [-S message_size] [-t tos] [-p port_space]
like, look at those two forms. one of them has -s server_address in the flags part and one has it standing alone at the front, and also only the second one has -t tos?? yeah. that's the vibe. copy it exactly, don't @ me πΈ
π DESCRIPTION π
so what this actually does: it establishes a set of unreliable RDMA datagram communication paths between two nodes using the librdmacm, and then it optionally transfers datagrams between the nodes, and then it tears the whole communication down. setup β maybe ping-pong β bye bye β¨ no cap, that's the whole arc.
π OPTIONS π
-sserver_address β the network name or IP address of the server system that's listening for communication. lowkey important: the name or address you use must route over an RDMA device. and this option must be specified by the client. non-negotiable bestie π-bbind_address β the local network address to bind to. and if you wanna bind to any address with IPv6? use-b ::0π«Ά-cconnections β the number of communication paths to establish between the client and server. plot twist: the test uses unreliable datagram communication, so likeβ¦ no actual connections are formed?? it's a fake-out, it's iconic. (default1)-Cmessage_count β how many messages to transfer over each connection. (default10)-Smessage_size β the size of each message transferred, in bytes. β οΈ this value must be smaller than the MTU of the underlying RDMA transport, or an error will occur. so like, don't be extra with it. (default100)-ttos β indicates the type of service used for the communication. and ngl, type of service is implementation dependent based on subnet configuration. that's just how it is π€·-pport_space β the port space of the datagram communication. may be either the RDMA UDP (0x0111) or IPoIB (0x0002) port space. (defaultRDMA_PS_UDP)
π¦ NOTES π¦
basic usage, the classic move: start udaddy on a server system, then run udaddy -s server_name on a client system. that's it, that's the recipe π
also!! because this test maps RDMA resources to userspace, users must ensure that they have available system resources and permissions. check the libibverbs README file for the additional details, fr fr π
not me reminding you twice but: resources + permissions. handle it before you run it π
π SEE ALSO π
and that's the whole page bestie!! this one's from librdmacm, dated 2007-05-15, and it's the UDADDY(1) page β slay, you read the whole thing, so proud of you πβ¨π
π¦ 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
- 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: 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