Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

/sys/class/infiniband_verbs

FieldValue
SubsystemRDMA userspace verbs access, drivers/infiniband/core/uverbs_main.c (class uverbs_class, name “infiniband_verbs”)
Config gateCONFIG_INFINIBAND_USER_ACCESS, “InfiniBand userspace access (verbs and CM)”, depends on MMU (drivers/infiniband/Kconfig)
ABI documentationDocumentation/ABI/stable/sysfs-class-infiniband (uverbs section, 3 What: entries)
Sincev2.6.14 (entries dated Sept 2005)
Live (5.10.134 host)none observed (no RDMA hardware in the container)
Ledger IDSYSC-infiniband_verbs

What it represents

One device per RDMA device exposing the verbs char interface: uverbs<N> nodes through which libibverbs issues command queues against the HCA. The class-level abi_version is bumped when a change breaks the uverbs userspace ABI.

Relationship to the device model

Devices are named uverbs%d (uverbs_main.c dev_set_name) with devnode “infiniband/%s”, so nodes land in /dev/infiniband/uverbsN next to the umad nodes of infiniband_mad.md. ibdev ties each node back to its /sys/class/infiniband device.

Attributes (source: ABI stable/sysfs-class-infiniband; class code uverbs_main.c)

AttributeR/WMeaning
abi_versionROClass attr; incremented on uverbs ABI-breaking changes (uverbs_main.c class_create_file)
uverbs<N>/ibdevROInfiniBand device name served by this node
uverbs<N>/abi_versionROABI version of the IB device specific interfaces

Safety and writes

All attributes are read-only. Note one source-visible detail: the uverbs devnode callback sets the device node mode to 0666 (uverbs_main.c uverbs_devnode), which is why verbs access control is normally layered with rdma-core and rdma groups rather than node permissions. None observed on the container host.

References