UCMATOSE(1)

๐Ÿ“ฆ
version 65.0 ยท 2 versions
  • 65.0 ยท alpine 3.24, arch rolling, centos-stream 10, centos-stream 9, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 15.1 ยท freebsd 14.5, freebsd 15.1
, in alpine 3.24, arch rolling, centos-stream 10, centos-stream 9, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

๐Ÿ’– UCMATOSE ๐Ÿ’–

okay bestie, gather round, because this is the ucmatose page from librdmacm and it's literally the cutest little RDMA test tool you'll ever meet ๐Ÿฆ‹


โœจ NAME โœจ

ucmatose โ€” RDMA CM connection and simple ping-pong test. that's it, that's the whole vibe. no cap.


โœจ SYNOPSIS โœจ

ucmatose [-s server_address] [-b bind_address]
          [-f address_format] [-P port_space]
          [-c connections] [-C message_count] [-S message_size] [-a ack_timeout]
ucmatose -s server_address [-b bind_address]
          [-f address_format] [-P port_space]
          [-c connections] [-C message_count] [-S message_size] [-t tos] [-a ack_timeout]

two whole forms, bestie โ€” the second one is giving -s is mandatory energy ๐Ÿ’…


โœจ DESCRIPTION โœจ

okay so what does this actually do? ucmatose establishes a set of reliable RDMA connections between two nodes using the librdmacm, optionally transfers data between the nodes, and then disconnects. that's the whole arc โ€” meet, vibe, send data (maybe), say bye. main character energy from start to finish ๐Ÿ‘‘


โœจ OPTIONS โœจ

  • -s server_address โ€” the network name or IP address of the server system that's out here listening for connections ๐Ÿ‘‚. the name or address you use must route over an RDMA device, fr fr. and heads up: this one is required by the client โ€” no -s, no connection, sorry bestie ๐Ÿ˜ญ
  • -b bind_address โ€” the local network address to bind to. wanna bind to any address with IPv6? use -b ::0 โœจ
  • -f address_format โ€” tells it what format the server and bind addresses are in. by default the format is figured out by getaddrinfo() as either a hostname, an IPv4 address, or an IPv6 address. this option is for when you wanna say "yes I know which format I gave you". the supported address_format values are: name, ip, ipv6, and gid ๐Ÿ’…
  • -P port_space โ€” the port space for the connection. by default it's the RDMA TCP port space. (lowkey important: the RDMA port space may be separate from the one used for IP ๐Ÿ‘€). supported port_space values are: tcp and ib
  • -c connections โ€” how many connections to establish between the client and server. (default 1)
  • -C message_count โ€” how many messages to transfer over each connection. (default 10)
  • -S message_size โ€” the size of each message transferred, in bytes. (default 100)
  • -t tos โ€” indicates the type of service used for the communication. type of service is implementation dependent based on subnet configuration, so don't come for me if your subnet has opinions ๐Ÿ™ˆ
  • -a ack_timeout โ€” the QP ACK timeout value that should be used. the value is calculated according to the formula 4.096 * 2^(ack_timeout) usec ๐Ÿงฎ
  • -m โ€” tests event channel migration. it migrates all communication identifiers to a different event channel for disconnect events. iconic behaviour honestly ๐ŸŒˆ

โœจ NOTES โœจ

basic usage, the classic routine: start ucmatose on a server system, then run ucmatose -s server_name on a client system. that's the whole group chat, one on each end ๐Ÿซถ

because this test maps RDMA resources to userspace, users must make sure they have available system resources and permissions. see the libibverbs README file for additional details โ€” seriously, go read it, it's not optional ๐Ÿ’€


โœจ SEE ALSO โœจ

rdma_cm(7), udaddy(1), mckey(1), rping(1)

go read those too, they're all in the same friend group ๐ŸŽ€


and that's the page!! this little cutie is brought to you by librdmacm, dated 2007-05-15, and it will forever be UCMATOSE(1) in our hearts. slay, stay connected, and please check your permissions before you map anything to userspace ๐Ÿ’–โœจ๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from