SMCD-DEVICE(8)

πŸ’– SMCD-DEVICE πŸ’– β€” okay bestie, let's talk SMC-D and SMC-R devices

So this is the smcd-device page from the Linux Programmer's Manual fam (and its sibling smcr-device), and it's basically the "tell me everything about my SMC devices" page. Yes queen, we're printing device info today. πŸ‘‘


🌸 NAME 🌸

  • smcd-device β€” print info about SMC-D devices, bestie
  • smcr-device β€” print info about SMC-R devices, bestie

✨ SYNOPSIS ✨

smcd [ OPTIONS ] device  { COMMAND | help }

smcd device [ show ] [ all ]

smcr [ OPTIONS ] device  { COMMAND | help }

smcr device [ show ] [ all ] [ netdev NETDEV ] [ ibdev IBDEV ]

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so. The smcd device command shows you your SMC-D devices and all their little properties. The smcr device command does the same thing but for your SMC-R devices. Two flavors, same energy. πŸ“

πŸŽ€ smcd,smcr device show

Inspect the device properties. Like a vibe check but for hardware. πŸ’…

  • all (this is the default, no cap) β€” lists all the devices.
  • netdev NETDEV β€” SMC-R only! Limits the command output to the device with the specified network device name.
  • ibdev IBDEV β€” SMC-R only! Limits the command output to the device port with the specified RoCE device name.

🌈 OUTPUT 🌈

This is what you're gonna see in each column, and ngl there's a lot going on, so let's go field by field.

Net-Dev

Network device name. Simple. Iconic.

IB-Dev

RoCE (InfiniBand) device name.

IB-P

The InfiniBand port of the RoCE device. Per the InfiniBand conventions, the port count starts at 1. Which means: for devices where each port is represented as a separate device, the port will show up as the first port for all ports. Yes, that's a lot of "port" in one sentence. It's giving recursive. πŸŒ€

IB-State

The state of the RoCE device port.

  • INACTIVE β€” the RoCE device port is inactive. It's not giving anything rn. 😴
  • ACTIVE β€” the RoCE device port is active. Main character energy. πŸ”₯

Type

The type of the underlying PCI device.

  • RoCE_Express β€” the underlying used device is RoCE Express.
  • RoCE_Express2 β€” the underlying used device is RoCE Express 2.
  • ISM β€” the underlying used device is ISM.

Crit / InUse

Shows whether the device is critical, i.e. without failover possibility (SMC-R), or whether the device is in use (SMC-D). Very "are you okay or are you a risk" of it.

  • Yes β€” for SMC-R, there's at least one link group running on the device with state "SINGLE" or locally "ASYMMETRIC", which means one or more link groups without a failover device in case of a link failure. For SMC-D, there's at least one link group running on the ISM device.
  • No β€” for SMC-R, there's no link group running on the device with state "SINGLE" or locally "ASYMMETRIC", which means the link group(s) have a fallback device in case of a failure. For SMC-D, there's no link group running on the ISM device.
⚠️ Bestie, read those two carefully. Yes = no failover, No = there is a fallback. It's a little chaotic but we respect it. πŸ’€

FID

Function ID of the PCI device.

PCI-ID

ID of the PCI device.

PCHID

Physical channel ID of the PCI device.

Number of links (SMC-R) / link groups (SMC-D) on the device.

PNET-ID

PNET ID of the device. A leading asterisk "*" means the PNET ID was set by the user. (e.g. "*PNET-ID"). Not me adding a whole asterisk to communicate that, but okay. ✨


🧚 EXAMPLES 🧚

  1. Show all SMC-D devices:
# smcd device show all
  1. Show all SMC-R devices:
# smcr devices show all
  1. Show all SMC-R devices with RoCE (InfiniBand) device name "mlx4_0":
# smcr device show ibdev mlx4_0
  1. Show all SMC-R devices with network device name "eth0":
# smcr device show netdev eth0

πŸ‘‘ SEE ALSO πŸ‘‘

Go read those too, bestie, they're literally the prequels. 🫢


And that's the whole page!! This little gem is brought to you by smc-tools, dated June 2020. Slay, periodt, happy device-printing. πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’