RXDEBUG(1)

๐Ÿ’– RXDEBUG(1) โ€” the AFS command reference glow-up ๐Ÿ’–

okay bestie, gather round, because we're talking about rxdebug from the AFS Command Reference, and honestly? she's a whole debugging icon. โœจ


๐ŸŒธ NAME ๐ŸŒธ

rxdebug โ€” gives you a debugging trace of Rx activity. that's it, that's the gig. ๐Ÿ’…


๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

rxdebug -servers <server machine> [-port <IP port>]
    [-nodally] [-allconnections] [-rxstats] [-onlyserver]
    [-onlyclient] [-onlyport <show only port>]
    [-onlyhost <show only host>]
    [-onlyauth <show only auth level>] [-version]
    [-noconns] [-peers] [-long] [-help]

rxdebug -s <server machine> [-po <IP port>] [-nod]
    [-a] [-r] [-onlys] [-onlyc] [-onlyp <show only port>]
    [-onlyh <show only host>] [-onlya <show only auth level>]
    [-v] [-noc] [-pe] [-l] [-h]

like yes, there are two ways to write her and both are valid, she contains multitudes ๐Ÿซถ


โœจ DESCRIPTION โœจ

so rxdebug gives you a trace of Rx activity for the server or client machine you name with the -servers argument. and what is Rx, you ask? Rx is AFS's own proprietary remote procedure call (RPC) protocol โ€” yes, proprietary, she's exclusive ๐Ÿ’… โ€” so this command lets whoever's running it check the status of communication between the Cache Manager or an AFS server process (whichever you specified with the -port argument) on that machine, and one or more processes on other machines. it's giving group chat admin monitoring the vibes between everyone, fr fr. ๐Ÿ‘‘


๐ŸŽ€ OPTIONS ๐ŸŽ€

okay here's the whole menu, no skips, no cuts, we respect all 15 of them equally:

  • -servers <server machine> (short form: -s) โ€” tells you which machine is running the Cache Manager or server process you wanna trace Rx activity for. you can give her the machine's IP address in dotted decimal format, its fully qualified host name (like "fs1.example.com"), or the shortest abbreviated form of its host name that still tells it apart from other machines. heads up though: whether the abbreviated form works depends on a name resolution service (like the Domain Name Service or a local host table) being available at the time you run the command. so, timing is everything, as always. ๐Ÿ•ฐ๏ธ
  • -port <IP port> (short form: -po) โ€” picks which process to trace Rx activity for. if you just... don't include this argument, you get the File Server (the fileserver process). or you can hand her one of these exact values:
    • 7000 for the File Server (fileserver process)
    • 7001 for the Cache Manager (specifically, its callback interface)
    • 7002 for the Protection Server (ptserver process)
    • 7003 for the Volume Location (VL) Server (vlserver process)
    • 7004 for the Authentication Server (kaserver process)
    • 7005 for the Volume Server (volserver process)
    • 7007 for the BOS Server (bosserver process)
    • 7008 for the Update Server (upserver process)
    • 7009 for the NFS/AFS Translator's rmtsysd daemon
    • 7021 for the Backup Server (buserver process)

and finally, the big one: specify 7025 through 65535 for the Backup Tape Coordinator (butc process) that has the port offset number you get by subtracting 7025 from this value. do the math, bestie, it's giving homework but make it networking ๐Ÿงฎ

  • -nodally (short form: -nod) โ€” only produces output for connections that are not in dally mode. no dallying allowed, we're being productive today โœ‹
  • -allconnections (short form: -a) โ€” gives you output for all connections, even the inactive ones. by default, the output only includes info for connections that are active or in dally mode at the moment you issue the rxdebug command. so this is the "everyone's in the group chat, lurkers included" option ๐Ÿ’€
  • -rxstats (short form: -r) โ€” serves up detailed statistics about Rx history and performance. for example: counts of the number of packets of various types the process has read and sent, calculations of average and minimum roundtrip time, and so on. it's the receipts, all of them, no cap ๐Ÿ“Š
  • -onlyserver (short form: -onlys) โ€” only produces output for connections where the process designated by the -port argument is acting as the server. main character and in charge ๐Ÿ‘‘
  • -onlyclient (short form: -onlyc) โ€” only produces output for connections where the process designated by the -port argument is acting as the client. sometimes she's just there to receive, and that's valid ๐Ÿ™ˆ
  • -onlyport <port> (short form: -onlyp <show only port>) โ€” only produces output for connections between the process designated by the -port argument and the specified port on any other machine. use the exact same port identifiers as you would for the -port argument. consistency queen โœจ
  • -onlyhost <host> (short form: -onlyh <show only host>) โ€” only produces output for connections between the process designated by the -port argument and any process on the specified machine. to identify that machine, use the same notation as for the -servers argument. same rules, different field, we stay consistent ๐Ÿซถ
  • -onlyauth <auth level> (short form: -onlya <show only auth level>) โ€” only produces output for connections using the specified authentication level. provide one of these:
    • auth โ€” connections at authentication level rxkad_auth
    • clear โ€” connections at authentication level rxkad_clear
    • crypt โ€” connections at authentication level rxkad_crypt
    • none โ€” unauthenticated connections (the equivalents here are "null", "noauth", and "unauth")
  • -version (short form: -v) โ€” reports the AFS build level of the binary file for the process designated by the -port argument (or of the kernel extensions file for port 7001, the Cache Manager's callback interface). and listen, this is important: any other options you combine with this one are ignored. they're just not invited to the party. periodt. ๐Ÿšซ๐ŸŽ‰
  • -noconns (short form: -noc) โ€” produces only the standard statistics that begin the output produced by every option (other than -version), without reporting on any connections at all. and yeah: any other options combined with this one are ignored too. same energy, same quiet dismissal ๐Ÿ’…
  • -peers (short form: -pe) โ€” outputs info from the peer structure maintained for each port on another machine that the process designated by the -port argument has a connection to. there's info about roundtrip time and numbers of packets sent and received, for example. it's the mutuals list, basically ๐Ÿค
  • -long (short form: -l) โ€” when combined with -peers, shows more info about each peer. this includes the packet skew, congestion window, MTU, and allowable jumbogram size. yes, jumbogram, say it with your chest ๐Ÿ—ฃ๏ธ
  • -help (short form: -h) โ€” prints the online help for this command. all other valid options are ignored (sensing a theme? -help, -version, and -noconns said my way or the highway) ๐Ÿ›ฃ๏ธ

๐ŸŒˆ OUTPUT ๐ŸŒˆ

so if you provide any options other than -version or -help, the output written to the standard output stream starts with basic statistics about packet usage and availability, how many calls are waiting for a thread, how many threads are free, and so on. (fun fact: that's the only info the -noconns flag gives you.) adding other options produces additional info, exactly as described in "OPTIONS" above. and real talk: this output is intended for debugging purposes and is meaningful to someone familiar with the implementation of Rx. so if it looks like ancient runes to you, that's not you failing, that's just the vibe check result ๐Ÿงš


๐Ÿ“ EXAMPLES ๐Ÿ“

this command shows Rx statistics on the server 192.168.1.100:

% rxdebug  192.168.1.100
Trying 192.168.1.100 (port 7000):
Free packets: 265, packet reclaims: 0, calls: 0, used FDs: 34
not waiting for packets.
0 calls waiting for a thread
11 threads are idle
Done.

and this one shows the OpenAFS version running on the server 192.168.1.100:

% rxdebug  192.168.1.100 -version
Trying 192.168.1.100 (port 7000):
AFS version:  OpenAFS 1.4.2fc2 built  2006-08-31

๐Ÿ‘‘ PRIVILEGE REQUIRED ๐Ÿ‘‘

None. zero. nada. you don't need any special privileges, she's accessible to everyone, we love an inclusive queen ๐Ÿ’–


๐Ÿ”ฅ SEE ALSO ๐Ÿ”ฅ

afsd(8), bosserver(8), buserver(8), butc(8), fileserver(8), kaserver(8), ptserver(8), upclient(8), upserver(8), vlserver(8), volserver(8)

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


IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.

This documentation is covered by the IBM Public License Version 1.0. It was converted from HTML to POD by software written by Chas Williams and Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.


aaand that's the whole page, bestie. this one came courtesy of OpenAFS, dated 2026-07-27 โ€” shoutout to the OpenAFS girlies keeping the docs alive, you ate and left no crumbs ๐Ÿ’…โœจ๐ŸŒธ

๐Ÿ“ฆ where this page comes from