RDMA-DEV(8)

๐Ÿ’– rdma-dev โ€” RDMA device configuration ๐Ÿ’–

okay bestie, so this is rdma-dev, section 8 of the Linux manual pages ๐Ÿงโœจ โ€” it's the part of the rdma command that handles all your RDMA devices. renaming them, yeeting them into namespaces, adding baby devices, deleting them. the whole glow-up. ๐Ÿ’…


๐ŸŒธ SYNOPSIS ๐ŸŒธ

rdma [ OPTIONS ] dev  { COMMAND | help }

OPTIONS := { -V[ersion] | -d[etails] }

rdma dev show [ DEV ]

rdma dev set [ DEV ] name NEWNAME

rdma dev set [ DEV ] netns {NSNAME|PID}

rdma dev set [ DEV ] adaptive-moderation [on/off]

rdma dev add [ NAME ] type [ TYPE ] parent [ PARENT_DEV ]

rdma dev delete [ NAME ]

rdma dev help

โœจ DESCRIPTION โœจ

๐ŸŽ€ rdma dev set โ€” rename an RDMA device, or set its network namespace, or set RDMA device adaptive-moderation

that's the whole vibe. three jobs, one command, main character energy ๐Ÿ‘‘

๐ŸŽ€ rdma dev show โ€” display RDMA device attributes

  • DEV โ€” tells you which RDMA device to show. if you just... don't pass it? then every single device gets listed. no filter, no crumbs, all of them. ๐Ÿซถ

๐ŸŽ€ rdma dev add โ€” add a RDMA device

so you're adding a RDMA device with a specific type and a parent IB device. this new device lowkey only provides a subset of the functionalities defined in the IBTA spec โ€” it's not the whole package, it's the curated edit. ๐Ÿฆ‹

๐ŸŽ€ rdma dev delete โ€” delete a RDMA device

deletes a RDMA device that you created earlier with the add command. no take-backs unless you add it again, bestie. ๐Ÿ˜ญ

  • NAME โ€” the name of the device being added/deleted.
  • TYPE โ€” the type of the device being added. it specifies which functionalities it provides. supported device type is:
    • SMI โ€” a device with this type provides the SMI (QP0) interface. this device and its parent associate with the same HCA port and share the physical link, so when the parent doesn't support SMI, then this type of device can be created to allow the subnet manager to configure the link. literally the fixer of the family. ๐Ÿ”ฅ
  • PARENT_DEV โ€” the name of its parent IB device.

๐ŸŒˆ EXAMPLES ๐ŸŒˆ

  • rdma dev

shows the state of all RDMA devices on the system. the full roster. โญ

  • rdma dev show mlx5_3

shows the state of the specified RDMA device. just the one, the chosen one. ๐Ÿ‘‘

  • rdma dev set mlx5_3 name rdma_0

renames the mlx5_3 device to rdma_0. glow-up complete ๐Ÿ’…

  • rdma dev set mlx5_3 netns foo rdma dev set mlx5_3 netns 1234

changes the network namespace of RDMA device to foo, where foo was previously created using the iproute2 ip command. (and yes, 1234 is the PID flavor of the same thing ๐Ÿซถ)

  • rdma dev set mlx5_3 adaptive-moderation [on/off]

sets the state of adaptive interrupt moderation for the RDMA device. heads up: this is a global setting for the RDMA device, but the value is printed for each CQ individually, because the state is constant from CQ allocation. so like, one setting, many receipts. ๐Ÿงš

  • rdma dev add smi1 type SMI parent ibp8s0f1

adds a new IB device with name "smi1", type "SMI", and "ibp8s0f1" as its parent device. it's giving nepo baby but make it networking ๐Ÿ“

  • rdma dev delete smi1

deletes the IB device "smi1". gone. not me crying over smi1 ๐Ÿ˜ญ


๐Ÿ’œ SEE ALSO ๐Ÿ’œ

ip(8), rdma(8), rdma-link(8), rdma-resource(8), rdma-system(8), rdma-statistic(8)


๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

  • Leon Romanovsky <leonro@mellanox.com>
  • Mark Zhang <markzhang@nvidia.com>

and that's the whole page, bestie!! ๐ŸŽ€ written for iproute2, dated 06 Jul 2017 โ€” so yeah it's a lil vintage but she still ate ๐Ÿ’–โœจ mwah, go configure some devices ๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from