SMCSS(8)
π NAME π
smcss β bestie, this one prints out all the tea about your AF_SMC sockets and link groups. That's it, that's the job. π«Ά
πΈ SYNOPSIS πΈ
smcss [--debug|-d] [--smcd|-D] [--wide|-W]
smcss {--all|-a} [--debug|-d] [--smcd|-D] [--wide|-W]
smcss [--debug|-d] [--smcr|-R] [--wide|-W]
smcss {--all|-a} [--debug|-d] [--smcr|-R] [--wide|-W]
smcss {--listening|-l} [--wide|-W]
smcss {--version|-v}
smcss {--help|-h}
β¨ DESCRIPTION β¨
okay so. smcss prints info about the Linux AF_SMC sockets and link groups. Which flavor of info you get is decided by the first argument, like this:
- (none) β no argument at all? iconic, minimal, we love. Displays a list of connecting, closing, or connected SMC sockets with basic information. π
-a,--allβ shows all the SMC sockets: listening, opening, closing, and connected. the whole friend group, no one left out. π-l,--listeningβ listening sockets only, bestie. These are omitted by default, so if you were like "where are my listeners" β that's why. π
π¦ OPTIONS π¦
-d,--debugβ spills extra debug tea, like the shutdown state. more info, more fun. β¨-D,--smcdβ shows additional SMC-D specific info. Heads up: it shows SMC-D sockets only. π-h,--helpβ usage information, aka the little map. πΊοΈ-R,--smcrβ shows additional SMC-R specific info. And yep, this one shows SMC-R sockets only. π₯-v,--versionβ program version. slay, what era are we in. β-W,--wideβ do not truncate IP addresses. full address, no censor, no cap. π
π OUTPUT π
π State
The state of the socket. It's gonna be one of these values:
INITβ the SMC socket is being initialized. Not connected, not listening yet. it's in its fetus era. π₯CLOSEDβ the SMC socket is closed. Not connected nor listening anymore. it has left the chat. πLISTENβ the SMC socket is a listening socket, waiting for incoming connection requests. patiently perched. πACTIVEβ the SMC socket has an established connection. In this state the TCP connection is fully established, rendezvous processing has been completed, and SMC peers can exchange data via RDMA. this is the main character state, fr fr. πPEERCLW1β no further data will be sent to the peer.PEERCLW2β no further data will be sent to or received from the peer.APPLCLW1β no further data will be received from the peer.APPLCLW2β no further data will be received from or sent to the peer.APPLFINCLWβ the peer has closed the socket.PEERFINCLWβ the socket is closed locally.PEERABORTWβ the socket was abnormally closed locally.PROCESSABORTβ the peer has closed the socket abnormally.
π UID
User ID of the SMC socket.
π§ Inode
Inode attribute of the socket.
π Local Address
Address and port number of the local end of the SMC socket. The displayed address is truncated when it ends with '..'. -W, --wide can be used to display addresses untruncated. glow-up for your addresses. β¨
π Peer Address
Address and port number of the remote end of the socket. Analogous to "Local Address". same vibe, other end.
πΈ Intf
When the socket is explicitly bound with the setsockopt option SO_BINDTODEVICE, then Intf shows the interface number of the Ethernet device to which the socket is bound.
π₯ Mode
SMCDβ the SMC socket uses SMC-D for data exchange.SMCRβ the SMC socket uses SMC-R for data exchange.TCPβ the SMC socket uses the TCP protocol for data exchange, because an SMC connection could not be established. (it tried, bestie, it really did. π)
In case of an error during connection setup, respective error codes will be displayed in the format <local>/<remote>.
Linux error codes:
0x01010000β Out of memory0x02010000β Timeout while waiting for confirm link message over RDMA device0x02020000β Timeout while waiting for RDMA device to be added0x03000000β Configuration error0x03010000β Peer does not support SMC0x03020000β Connection uses IPsec0x03030000β No SMC devices found (R and D)0x03030001β No ISM device for SMC-D found0x03030002β No RDMA device for SMC-R found0x03030003β Hardware has no ISMv2 support0x03030004β Peer sent no SMCv2 extension0x03030005β Peer sent no SMC-Dv2 extension0x03030006β Peer sent no ISMv2 SEID0x03030007β No SMC-Dv2 device found, but required0x03030008β Peer sent no UEID0x03040000β SMC modes mismatch (R or D)0x03050000β Peer has eyecatcher in RMBE0x03060000β Fastopen sockopt not supported0x03070000β IP prefix / subnet mismatch0x03080000β Error retrieving VLAN ID of IP device0x03090000β Error while registering VLAN ID on ISM device0x030a0000β No active SMC-R link in link group0x030b0000β SMC-R link from server not found0x030c0000β SMC version mismatch0x030d0000β SMC-D connection limit reached0x030e0000β SMC-Rv2 connection found no route to peer0x030f0000β SMC-Rv2 connection mismatch direct/indirect with peer0x04000000β Synchronization error0x05000000β Peer declined during handshake0x09990000β Internal error0x09990001β rtoken handling failed0x09990002β RDMA link failed0x09990003β RMB registration failed
π ShutD
<->β the SMC socket has not been shut down.R->β the SMC socket is shut down one-way and cannot receive data.<-Wβ the SMC socket is shut down one-way and cannot send data.R-Wβ the SMC socket is shut down in both ways and cannot receive or send data. fully closed off, do not perceive me. π
β Token
Unique ID of the SMC socket connection.
π Sndbuf
Size of the to-be-sent window of the SMC socket connection.
π Rcvbuf
Size of the receiving window of the SMC socket connection (filled by peer).
π Peerbuf
Size of the peer receiving window of the SMC socket connection (to fill during RDMA-transfer).
π¦ rxprod-Cursor
Describes the current cursor location of the "Rcvbuf" for data to be received from the peer.
π¦ rxcons-Cursor
Describes the current cursor location of the "Peerbuf" for data sent to peer and confirmed by the peer.
π¦ rxFlags
SMC socket connection flags set by and received from the peer.
π¦ txprod-Cursor
Describes the current cursor location of the "Peerbuf" for data sent to peer.
π¦ txcons-Cursor
Describes the current cursor location of the "Rcvbuf" for data received from the peer and confirmed to the peer.
π¦ txFlags
SMC socket connection flags set locally and sent to the peer.
π¦ txprep-Cursor
Describes the current cursor location of the "Sndbuf" for data to be sent. The data is to be moved to the "Peerbuf".
π¦ txsent-Cursor
Describes the current cursor location of the "Sndbuf" for data sent. The data was moved to the "Peerbuf".
π¦ txfin-Cursor
Describes the current cursor location of the "Sndbuf" for data sent and send completion confirmed. The data was moved to the "Peerbuf" and completion was confirmed.
π Role
CLNTβ the link group of the SMC socket is used for client connections.SERVβ the link group of the SMC socket is used for server connections.
π§ IB-Device
Name of the RoCE device used by the link group to which the SMC socket belongs.
π§ Port
Port of the RoCE device used by the link group to which the SMC socket belongs.
π§ Linkid
Unique link ID of the link within the link group to which the SMC socket belongs.
π§ GID
Gid of the RoCE port used by the link group to which the SMC socket belongs.
π§ Peer-GID
Gid of the Foreign RoCE port used by the link group to which the SMC socket belongs.
π VLAN
tbd. (yes bestie, that's literally all it says. the mystery of it all. π )
π RETURN CODES π
Successful smcss commands return 0 and display the requested socket state table or link group information. If an error occurs, smcss writes a message to stderr and completes with a return code other than 0.
ngl, non-zero means something went sideways. read the stderr message, it's telling you everything. π
π SEE ALSO π
af_smc(7), smc_chk(8) smc_rnics(8), smc_run(8), smc_pnet(8), smcd(8), smcr(8)
okay that's the whole page, bestie, you ate that. this one's brought to you by smc-tools, dated June 2018 β yes, she's vintage, she's still serving, and she's still SMCSS(8) in the Linux Programmer's Manual. periodt. π
β¨
π¦ where this page comes from
- centos-stream 10: smc-tools 1.8.8-1.el10 Β· EPL-1.0
- centos-stream 9: smc-tools 1.8.8-1.el9 Β· EPL-1.0
- centos-stream 9: smc-tools 1.8.8-1.el9 Β· EPL-1.0
- fedora 43: smc-tools 1.8.5-2.fc43 Β· EPL-1.0
- fedora 43: smc-tools 1.8.5-2.fc43 Β· EPL-1.0
- fedora 44: smc-tools 1.8.6-2.fc44 Β· EPL-1.0
- fedora 44: smc-tools 1.8.6-2.fc44 Β· EPL-1.0
- opensuse-leap 16.0: smc-tools 1.8.8-160000.1.1 Β· EPL-1.0
- opensuse-leap 16.0: smc-tools 1.8.8-160000.1.1 Β· EPL-1.0
- opensuse-leap 16.0: smc-tools 1.8.8-160000.1.1 Β· EPL-1.0
- opensuse-leap 16.0: smc-tools 1.8.8-160000.1.1 Β· EPL-1.0
- ubuntu jammy: smc-tools 1.7.0-0ubuntu1 Β· EPL-1.0
- ubuntu jammy: smc-tools 1.7.0-0ubuntu1.2 Β· EPL-1.0
- ubuntu noble: smc-tools 1.8.3-0ubuntu1 Β· EPL-1.0
- ubuntu noble: smc-tools 1.8.3-0ubuntu1.1 Β· EPL-1.0
- ubuntu questing: smc-tools 1.8.5-0ubuntu1
- ubuntu resolute: smc-tools 1.8.7-0ubuntu1 Β· EPL-1.0
- ubuntu stonking: smc-tools 1.8.8-0ubuntu1 Β· EPL-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms