spdk_nvme_ctrlr_data Struct Reference
Collaboration diagram for spdk_nvme_ctrlr_data:

Data Fields

uint16_t vid
 pci vendor id
 
uint16_t ssvid
 pci subsystem vendor id
 
int8_t sn [SPDK_NVME_CTRLR_SN_LEN]
 serial number
 
int8_t mn [SPDK_NVME_CTRLR_MN_LEN]
 model number
 
uint8_t fr [SPDK_NVME_CTRLR_FR_LEN]
 firmware revision
 
uint8_t rab
 recommended arbitration burst
 
uint8_t ieee [3]
 ieee oui identifier
 
struct {
   uint8_t   multi_port: 1
 
   uint8_t   multi_host: 1
 
   uint8_t   sr_iov: 1
 
   uint8_t   reserved: 5
 
cmic
 controller multi-path I/O and namespace sharing capabilities
 
uint8_t mdts
 maximum data transfer size
 
uint16_t cntlid
 controller id
 
union spdk_nvme_vs_register ver
 version
 
uint32_t rtd3r
 RTD3 resume latency.
 
uint32_t rtd3e
 RTD3 entry latency.
 
struct {
   uint32_t   reserved1: 8
 
   uint32_t   ns_attribute_notices: 1
 Supports sending Namespace Attribute Notices. More...
 
   uint32_t   fw_activation_notices: 1
 Supports sending Firmware Activation Notices. More...
 
   uint32_t   reserved2: 22
 
oaes
 optional asynchronous events supported
 
struct {
   uint32_t   host_id_exhid_supported: 1
 Supports 128-bit host identifier.
 
   uint32_t   non_operational_power_state_permissive_mode: 1
 Supports non-operational power state permissive mode.
 
   uint32_t   reserved: 30
 
ctratt
 controller attributes
 
uint8_t reserved_100 [12]
 
uint8_t fguid [16]
 FRU globally unique identifier.
 
uint8_t reserved_128 [128]
 
struct {
   uint16_t   security: 1
 
   uint16_t   format: 1
 
   uint16_t   firmware: 1
 
   uint16_t   ns_manage: 1
 
   uint16_t   device_self_test: 1
 Supports device self-test command (SPDK_NVME_OPC_DEVICE_SELF_TEST)
 
   uint16_t   directives: 1
 Supports SPDK_NVME_OPC_DIRECTIVE_SEND and SPDK_NVME_OPC_DIRECTIVE_RECEIVE.
 
   uint16_t   nvme_mi: 1
 Supports NVMe-MI (SPDK_NVME_OPC_NVME_MI_SEND, SPDK_NVME_OPC_NVME_MI_RECEIVE)
 
   uint16_t   virtualization_management: 1
 Supports SPDK_NVME_OPC_VIRTUALIZATION_MANAGEMENT.
 
   uint16_t   doorbell_buffer_config: 1
 Supports SPDK_NVME_OPC_DOORBELL_BUFFER_CONFIG.
 
   uint16_t   oacs_rsvd: 7
 
oacs
 optional admin command support
 
uint8_t acl
 abort command limit
 
uint8_t aerl
 asynchronous event request limit
 
struct {
   uint8_t   slot1_ro: 1
 
   uint8_t   num_slots: 3
 
   uint8_t   activation_without_reset: 1
 
   uint8_t   frmw_rsvd: 3
 
frmw
 firmware updates
 
struct {
   uint8_t   ns_smart: 1
 
   uint8_t   celp: 1
 
   uint8_t   edlp: 1
 
   uint8_t   telemetry: 1
 telemetry log pages and notices
 
   uint8_t   lpa_rsvd: 4
 
lpa
 log page attributes
 
uint8_t elpe
 error log page entries
 
uint8_t npss
 number of power states supported
 
struct {
   uint8_t   spec_format: 1
 
   uint8_t   avscc_rsvd: 7
 
avscc
 admin vendor specific command configuration
 
struct {
   uint8_t   supported: 1
 controller supports autonomous power state transitions
 
   uint8_t   apsta_rsvd: 7
 
apsta
 autonomous power state transition attributes
 
uint16_t wctemp
 warning composite temperature threshold
 
uint16_t cctemp
 critical composite temperature threshold
 
uint16_t mtfa
 maximum time for firmware activation
 
uint32_t hmpre
 host memory buffer preferred size
 
uint32_t hmmin
 host memory buffer minimum size
 
uint64_t tnvmcap [2]
 total NVM capacity
 
uint64_t unvmcap [2]
 unallocated NVM capacity
 
struct {
   uint8_t   num_rpmb_units: 3
 
   uint8_t   auth_method: 3
 
   uint8_t   reserved1: 2
 
   uint8_t   reserved2
 
   uint8_t   total_size
 
   uint8_t   access_size
 
rpmbs
 replay protected memory block support
 
uint16_t edstt
 extended device self-test time (in minutes)
 
union {
   uint8_t   raw
 
   struct {
      uint8_t   one_only: 1
 Device supports only one device self-test operation at a time.
 
      uint8_t   reserved: 7
 
   }   bits
 
dsto
 device self-test options
 
uint8_t fwug
 Firmware update granularity. More...
 
uint16_t kas
 Keep Alive Support. More...
 
union {
   uint16_t   raw
 
   struct {
      uint16_t   supported: 1
 
      uint16_t   reserved: 15
 
   }   bits
 
hctma
 Host controlled thermal management attributes.
 
uint16_t mntmt
 Minimum thermal management temperature.
 
uint16_t mxtmt
 Maximum thermal management temperature.
 
union {
   uint32_t   raw
 
   struct {
      uint32_t   crypto_erase: 1
 
      uint32_t   block_erase: 1
 
      uint32_t   overwrite: 1
 
      uint32_t   reserved: 29
 
   }   bits
 
sanicap
 Sanitize capabilities.
 
uint8_t reserved3 [180]
 
struct {
   uint8_t   min: 4
 
   uint8_t   max: 4
 
sqes
 submission queue entry size
 
struct {
   uint8_t   min: 4
 
   uint8_t   max: 4
 
cqes
 completion queue entry size
 
uint16_t maxcmd
 
uint32_t nn
 number of namespaces
 
struct {
   uint16_t   compare: 1
 
   uint16_t   write_unc: 1
 
   uint16_t   dsm: 1
 
   uint16_t   write_zeroes: 1
 
   uint16_t   set_features_save: 1
 
   uint16_t   reservations: 1
 
   uint16_t   timestamp: 1
 
   uint16_t   reserved: 9
 
oncs
 optional nvm command support
 
uint16_t fuses
 fused operation support
 
struct {
   uint8_t   format_all_ns: 1
 
   uint8_t   erase_all_ns: 1
 
   uint8_t   crypto_erase_supported: 1
 
   uint8_t   reserved: 5
 
fna
 format nvm attributes
 
struct {
   uint8_t   present: 1
 
   uint8_t   flush_broadcast: 2
 
   uint8_t   reserved: 5
 
vwc
 volatile write cache
 
uint16_t awun
 atomic write unit normal
 
uint16_t awupf
 atomic write unit power fail
 
uint8_t nvscc
 NVM vendor specific command configuration.
 
uint8_t reserved531
 
uint16_t acwu
 atomic compare & write unit
 
uint16_t reserved534
 
struct {
   uint32_t   supported: 2
 
   uint32_t   keyed_sgl: 1
 
   uint32_t   reserved1: 13
 
   uint32_t   bit_bucket_descriptor: 1
 
   uint32_t   metadata_pointer: 1
 
   uint32_t   oversized_sgl: 1
 
   uint32_t   metadata_address: 1
 
   uint32_t   sgl_offset: 1
 
   uint32_t   transport_sgl: 1
 
   uint32_t   reserved2: 10
 
sgls
 SGL support.
 
uint8_t reserved4 [228]
 
uint8_t subnqn [256]
 
uint8_t reserved5 [768]
 
struct {
   uint32_t   ioccsz
 I/O queue command capsule supported size (16-byte units)
 
   uint32_t   iorcsz
 I/O queue response capsule supported size (16-byte units)
 
   uint16_t   icdoff
 In-capsule data offset (16-byte units)
 
   struct {
      uint8_t   ctrlr_model: 1
 Controller model: spdk_nvmf_ctrlr_model.
 
      uint8_t   reserved: 7
 
   }   ctrattr
 Controller attributes.
 
   uint8_t   msdbd
 Maximum SGL block descriptors (0 = no limit)
 
   uint8_t   reserved [244]
 
nvmf_specific
 NVMe over Fabrics-specific fields.
 
struct spdk_nvme_power_state psd [32]
 
uint8_t vs [1024]
 

Field Documentation

◆ fw_activation_notices

uint32_t spdk_nvme_ctrlr_data::fw_activation_notices

Supports sending Firmware Activation Notices.

◆ fwug

uint8_t spdk_nvme_ctrlr_data::fwug

Firmware update granularity.

4KB units 0x00 = no information provided 0xFF = no restriction

◆ kas

uint16_t spdk_nvme_ctrlr_data::kas

Keep Alive Support.

Granularity of keep alive timer in 100 ms units 0 = keep alive not supported

◆ ns_attribute_notices

uint32_t spdk_nvme_ctrlr_data::ns_attribute_notices

Supports sending Namespace Attribute Notices.


The documentation for this struct was generated from the following file: