libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

struct nvme\_rate\_limiting\_controller\_descriptor - Rate Limiting Controller Descriptor (QCD)

# [SYNOPSIS](#SYNOPSIS)

struct nvme\_rate\_limiting\_controller\_descriptor {  
**\_\_le16 cntlid;**  
**\_\_le16 nnsmad;**  
**\_\_u8 rsvd4\[4];**  
**struct nvme\_rate\_limiting\_max\_access\_descriptor rlma;**  
**\_\_u8 rsvd40\[24];**  
**\_\_u8 vs\[256];**  
**\_\_le32 nvsma\_offset\[];**  
};

# [Members](#Members)

[cntlid](#cntlid)

Controller Identifier

[nnsmad](#nnsmad)

Number of Non-Volatile Storage Medium Access Descriptors in *nvsma\_offset*, non-zero

[rsvd4](#rsvd4)

Reserved

[rlma](#rlma)

Rate Limiting Maximum Access of the controller to the NVM subsystem port

[rsvd40](#rsvd40)

Reserved

[vs](#vs)

Vendor Specific

[nvsma\_offset](#nvsma_offset)

Dword offsets, relative to the start of the Rate Limiting log page, to the Non-Volatile Storage Medium Access Descriptors, *nnsmad* entries

struct nvme\_rate\_limiting\_controller\_descriptor October 2026

---

Document: nvme_rate_limiting_controller_descriptor-libnvme3(2) from nvme-cli 3.2-r0 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
