The nvme-control interface¶
The nvme-control interface allows snaps to manage and access NVMe controllers,alongside namespaces via in-kernel NVMe interfaces (PCI & NVMe-oF).
This interface provides access to enumerate devices, create/delete/attach/detach namespaces, and read device health/ telemetry data.
Access is limited to NVMe management operations through sysfs, nvme-fabrics char device, and controller/namespace device nodes. Raw block I/O remains constrained by device cgroups. The nvme and nvme-tcp kernel modules may auto-load as needed.
For further details on interfaces, see How to connect interfaces.
Developer details¶
Auto-connect: no Super-privileged: yes
Code examples¶
The test code can be found in the snapd repository:https://github.com/snapcore/snapd/blob/master/interfaces/builtin/onvme_control_test.go
The source code for the interface is in the snapd repository: https://github.com/snapcore/snapd/blob/master/interfaces/builtin/nvme_control.go