1
0
Fork 0

Merging upstream version 1.11.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-16 10:51:10 +01:00
parent fc25ba7fb2
commit bdf865565e
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
946 changed files with 4896 additions and 1272 deletions

View file

@ -29,6 +29,7 @@ Fabrics-specific definitions.
int tos;
long keyring;
long tls_key;
long tls_configured_key;
bool duplicate_connect;
bool disable_sqflow;
bool hdr_digest;
@ -78,6 +79,9 @@ Fabrics-specific definitions.
``tls_key``
TLS PSK for the connection
``tls_configured_key``
TLS PSK for connect command for the connection
``duplicate_connect``
Allow multiple connections to the same target
@ -376,6 +380,25 @@ into the topology using **h** as parent.
0 on success; on failure errno is set and -1 is returned.
.. c:function:: int nvmf_connect_ctrl (nvme_ctrl_t c)
Connect a controller
**Parameters**
``nvme_ctrl_t c``
Controller to be connected
**Description**
Issues a 'connect' command to the NVMe-oF controller.
**c** must be initialized and not connected to the topology.
**Return**
0 on success; on failure errno is set and -1 is returned.
.. c:function:: int nvmf_get_discovery_log (nvme_ctrl_t c, struct nvmf_discovery_log **logp, int max_retries)
Return the discovery log page

View file

@ -2423,6 +2423,27 @@ The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_get_log_lockdown (int fd, __u8 cnscp, struct nvme_lockdown_log *lockdown_log)
Retrieve lockdown Log
**Parameters**
``int fd``
File descriptor of nvme device
``__u8 cnscp``
Contents and Scope of Command and Feature Identifier Lists
``struct nvme_lockdown_log *lockdown_log``
Buffer to store the lockdown log
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_set_features (struct nvme_set_features_args *args)
Set a feature attribute

View file

@ -760,6 +760,37 @@ on error. It is the responsibility of the caller to free the returned
string.
.. c:function:: char * nvme_export_tls_key_versioned (unsigned char version, unsigned char hmac, const unsigned char *key_data, size_t key_len)
Export a TLS pre-shared key
**Parameters**
``unsigned char version``
Indicated the representation of the TLS PSK
``unsigned char hmac``
HMAC algorithm used to transfor the configured PSK
in a retained PSK
``const unsigned char *key_data``
Raw data of the key
``size_t key_len``
Length of **key_data**
**Description**
Returns **key_data** in the PSK Interchange format as defined in section
3.6.1.5 of the NVMe TCP Transport specification.
**Return**
The string containing the TLS identity or NULL with errno set
on error. It is the responsibility of the caller to free the returned
string.
.. c:function:: unsigned char * nvme_import_tls_key (const char *encoded_key, int *key_len, unsigned int *hmac)
Import a TLS key
@ -786,6 +817,36 @@ The raw data of the PSK or NULL with errno set on error. It is
the responsibility of the caller to free the returned string.
.. c:function:: unsigned char * nvme_import_tls_key_versioned (const char *encoded_key, unsigned char *version, unsigned char *hmac, size_t *key_len)
Import a TLS key
**Parameters**
``const char *encoded_key``
TLS key in PSK interchange format
``unsigned char *version``
Indicated the representation of the TLS PSK
``unsigned char *hmac``
HMAC algorithm used to transfor the configured
PSK in a retained PSK
``size_t *key_len``
Length of the resulting key data
**Description**
Imports **key_data** in the PSK Interchange format as defined in section
3.6.1.5 of the NVMe TCP Transport specification.
**Return**
The raw data of the PSK or NULL with errno set on error. It is
the responsibility of the caller to free the returned string.
.. c:function:: int nvme_submit_passthru (int fd, unsigned long ioctl_cmd, struct nvme_passthru_cmd *cmd, __u32 *result)
Low level ioctl wrapper for passthru commands

View file

@ -578,6 +578,63 @@ This is the generic response format with the three doublewords of completion
queue data, plus optional response data.
.. c:enum:: nvme_mi_control_opcode
Operation code for Control Primitives.
**Constants**
``nvme_mi_control_opcode_pause``
Suspend response transmission/timeout
``nvme_mi_control_opcode_resume``
Resume from a paused condition
``nvme_mi_control_opcode_abort``
Re-initialize a Command Slot to the Idle state
``nvme_mi_control_opcode_get_state``
Get the state of a Command Slot
``nvme_mi_control_opcode_replay``
Retransmit the Response Message
.. c:struct:: nvme_mi_control_req
The Control Primitive request.
**Definition**
::
struct nvme_mi_control_req {
struct nvme_mi_msg_hdr hdr;
__u8 opcode;
__u8 tag;
__le16 cpsp;
};
**Members**
``hdr``
Generic MI message header
``opcode``
Control Primitive Opcodes (using :c:type:`enum nvme_mi_control_opcode <nvme_mi_control_opcode>`)
``tag``
flag - Opaque value passed from request to response
``cpsp``
Control Primitive Specific Parameter
.. c:function:: const char * nvme_mi_status_to_string (int status)
return a string representation of the MI status.
@ -1617,6 +1674,36 @@ The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_control (nvme_mi_ep_t ep, __u8 opcode, __u16 cpsp, __u16 *result_cpsr)
Perform a Control Primitive command
**Parameters**
``nvme_mi_ep_t ep``
endpoint for MI communication
``__u8 opcode``
Control Primitive opcode (using :c:type:`enum nvme_mi_control_opcode <nvme_mi_control_opcode>`)
``__u16 cpsp``
Control Primitive Specific Parameter
``__u16 *result_cpsr``
Optional field to return the result from the CPSR field
**Description**
Perform a Control Primitive command, using the opcode specified in **opcode**
Stores the result from the CPSR field in **result_cpsr** if set.
See: :c:type:`enum nvme_mi_control_opcode <nvme_mi_control_opcode>`
**Return**
0 on success, non-zero on failure
.. c:function:: int nvme_mi_admin_identify_cns_nsid (nvme_mi_ctrl_t ctrl, enum nvme_identify_cns cns, __u32 nsid, void *data)
Perform an Admin identify command using specific CNS/NSID parameters.
@ -2860,6 +2947,27 @@ The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_admin_get_log_lockdown (nvme_mi_ctrl_t ctrl, __u8 cnscp, struct nvme_lockdown_log *lockdown_log)
Retrieve lockdown Log
**Parameters**
``nvme_mi_ctrl_t ctrl``
Controller to query
``__u8 cnscp``
Contents and Scope of Command and Feature Identifier Lists
``struct nvme_lockdown_log *lockdown_log``
Buffer to store the lockdown log
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_admin_security_send (nvme_mi_ctrl_t ctrl, struct nvme_security_send_args *args)
Perform a Security Send command on a controller.

View file

@ -1845,6 +1845,87 @@ DH-HMAC-CHAP controller key or NULL if not set
DH-HMAC-CHAP Key to set or NULL to clear existing key
.. c:function:: const char * nvme_ctrl_get_keyring (nvme_ctrl_t c)
Return keyring
**Parameters**
``nvme_ctrl_t c``
Controller to be used for the lookup
**Return**
Keyring or NULL if not set
.. c:function:: void nvme_ctrl_set_keyring (nvme_ctrl_t c, const char *keyring)
Set keyring
**Parameters**
``nvme_ctrl_t c``
Controller for which the keyring should be set
``const char *keyring``
Keyring name
.. c:function:: const char * nvme_ctrl_get_tls_key_identity (nvme_ctrl_t c)
Return Derive TLS Identity
**Parameters**
``nvme_ctrl_t c``
Controller to be used for the lookup
**Return**
Derive TLS Identity or NULL if not set
.. c:function:: void nvme_ctrl_set_tls_key_identity (nvme_ctrl_t c, const char *identity)
Set Derive TLS Identity
**Parameters**
``nvme_ctrl_t c``
Controller for which the key should be set
``const char *identity``
Derive TLS identity or NULL to clear existing key
.. c:function:: const char * nvme_ctrl_get_tls_key (nvme_ctrl_t c)
Return Derive TLS PSK
**Parameters**
``nvme_ctrl_t c``
Controller to be used for the lookup
**Return**
Key in PSK interchange format or NULL if not set
.. c:function:: void nvme_ctrl_set_tls_key (nvme_ctrl_t c, const char *key)
Set Derive TLS PSK
**Parameters**
``nvme_ctrl_t c``
Controller for which the key should be set
``const char *key``
Key in interchange format or NULL to clear existing key
.. c:function:: struct nvme_fabrics_config * nvme_ctrl_get_config (nvme_ctrl_t c)
Fabrics configuration of a controller

View file

@ -49,6 +49,44 @@ The 'name' field from 'value'
The 'name' field from 'value'
.. c:macro:: NVME_CHECK
``NVME_CHECK (value, name, check)``
check value to compare field value
**Parameters**
``value``
The value to be checked
``name``
The name of the sub-field within an nvme value
``check``
The sub-field value to check
**Return**
The result of compare the value and the sub-field value
.. c:macro:: NVME_VAL
``NVME_VAL (name)``
get mask value shifted
**Parameters**
``name``
The name of the sub-field within an nvme value
**Return**
The mask value shifted
.. c:enum:: nvme_constants
@ -1536,7 +1574,8 @@ power scale value
__le16 domainid;
__u8 rsvd358[10];
__u8 megcap[16];
__u8 rsvd384[128];
__u8 tmpthha;
__u8 rsvd385[127];
__u8 sqes;
__u8 cqes;
__le16 maxcmd;
@ -1556,7 +1595,19 @@ power scale value
__u8 maxdna[16];
__le32 maxcna;
__le32 oaqd;
__u8 rsvd568[200];
__u8 rsvd568[2];
__u16 cmmrtd;
__u16 nmmrtd;
__u8 minmrtg;
__u8 maxmrtg;
__u8 trattr;
__u8 rsvd577;
__u16 mcudmq;
__u16 mnsudmq;
__u16 mcmr;
__u16 nmcmr;
__u16 mcdqpc;
__u8 rsvd588[180];
char subnqn[NVME_NQN_LENGTH];
__u8 rsvd1024[768];
__le32 ioccsz;
@ -1843,7 +1894,10 @@ power scale value
Max Endurance Group Capacity indicates the maximum capacity
of a single Endurance Group.
``rsvd384``
``tmpthha``
Temperature Threshold Hysteresis Attributes
``rsvd385``
Reserved
``sqes``
@ -1933,6 +1987,63 @@ power scale value
``rsvd568``
Reserved
``cmmrtd``
Controller Maximum Memory Range Tracking Descriptors indicates
the maximum number of Memory Range Tracking Descriptors the
controller supports.
``nmmrtd``
NVM Subsystem Maximum Memory Range Tracking Descriptors
indicates the maximum number of Memory Range Tracking Descriptors
the NVM subsystem supports.
``minmrtg``
Minimum Memory Range Tracking Granularity indicates the minimum
value supported in the Requested Memory Range Tracking
Granularity (RMRTG) field of the Track Memory Ranges data
structure.
``maxmrtg``
Maximum Memory Range Tracking Granularity indicates the maximum
value supported in the Requested Memory Range Tracking
Granularity (RMRTG) field of the Track Memory Ranges data
structure.
``trattr``
Tracking Attributes indicates supported attributes for the
Track Send command and Track Receive command.
``rsvd577``
Reserved
``mcudmq``
Maximum Controller User Data Migration Queues indicates the
maximum number of User Data Migration Queues supported by the
controller.
``mnsudmq``
Maximum NVM Subsystem User Data Migration Queues indicates the
maximum number of User Data Migration Queues supported by the NVM
subsystem.
``mcmr``
Maximum CDQ Memory Ranges indicates the maximum number of
memory ranges allowed to be specified by the PRP1 field of a
Controller Data Queue command.
``nmcmr``
NVM Subsystem Maximum CDQ Memory Ranges indicates the maximum
number of memory ranges for all Controller Data Queues in the
NVM subsystem.
``mcdqpc``
Maximum Controller Data Queue PRP Count indicates the maximum
number of PRPs allowed to be specified in the PRP list in the
Controller Data Queue command.
``rsvd588``
Reserved
``subnqn``
NVM Subsystem NVMe Qualified Name, UTF-8 null terminated string
@ -2060,6 +2171,87 @@ power scale value
**Constants**
``NVME_CTRL_OAES_NA_SHIFT``
Shift amount to get the Namespace Attribute Notices event supported
``NVME_CTRL_OAES_FA_SHIFT``
Shift amount to get the Firmware Activation Notices event supported
``NVME_CTRL_OAES_ANA_SHIFT``
Shift amount to get the ANA Change Notices supported
``NVME_CTRL_OAES_PLEA_SHIFT``
Shift amount to get the Predictable Latency Event Aggregate Log
Change Notices event supported
``NVME_CTRL_OAES_LBAS_SHIFT``
Shift amount to get the LBA Status Information Notices event
supported
``NVME_CTRL_OAES_EGE_SHIFT``
Shift amount to get the Endurance Group Events Aggregate Log Change
Notices event supported
``NVME_CTRL_OAES_NS_SHIFT``
Shift amount to get the Normal NVM Subsystem Shutdown event supported
``NVME_CTRL_OAES_TTH_SHIFT``
Shift amount to get the Temperature Threshold Hysteresis Recovery
event supported
``NVME_CTRL_OAES_RGCNS_SHIFT``
Shift amount to get the Reachability Groups Change Notices supported
``NVME_CTRL_OAES_ANSAN_SHIFT``
Shift amount to get the Allocated Namespace Attribute Notices
supported
``NVME_CTRL_OAES_ZD_SHIFT``
Shift amount to get the Zone Descriptor Change Notifications supported
``NVME_CTRL_OAES_DL_SHIFT``
Shift amount to get the Discover Log Page Change Notifications
supported
``NVME_CTRL_OAES_NA_MASK``
Mask to get the Namespace Attribute Notices event supported
``NVME_CTRL_OAES_FA_MASK``
Mask to get the Firmware Activation Notices event supported
``NVME_CTRL_OAES_ANA_MASK``
Mask to get the ANA Change Notices supported
``NVME_CTRL_OAES_PLEA_MASK``
Mask to get the Predictable Latency Event Aggregate Log Change Notices
event supported
``NVME_CTRL_OAES_LBAS_MASK``
Mask to get the LBA Status Information Notices event supported
``NVME_CTRL_OAES_EGE_MASK``
Mask to get the Endurance Group Events Aggregate Log Change Notices
event supported
``NVME_CTRL_OAES_NS_MASK``
Mask to get the Normal NVM Subsystem Shutdown event supported
``NVME_CTRL_OAES_TTH_MASK``
Mask to get the Temperature Threshold Hysteresis Recovery event
supported
``NVME_CTRL_OAES_RGCNS_MASK``
Mask to get the Reachability Groups Change Notices supported
``NVME_CTRL_OAES_ANSAN_MASK``
Mask to get the Allocated Namespace Attribute Notices supported
``NVME_CTRL_OAES_ZD_MASK``
Mask to get the Zone Descriptor Change Notifications supported
``NVME_CTRL_OAES_DL_MASK``
Mask to get the Discover Log Page Change Notifications supported
``NVME_CTRL_OAES_NA``
Namespace Attribute Notices event supported
@ -2070,19 +2262,26 @@ power scale value
ANA Change Notices supported
``NVME_CTRL_OAES_PLEA``
Predictable Latency Event Aggregate Log
Change Notices event supported
Predictable Latency Event Aggregate Log Change Notices event supported
``NVME_CTRL_OAES_LBAS``
LBA Status Information Notices event supported
``NVME_CTRL_OAES_EGE``
Endurance Group Events Aggregate Log Change
Notices event supported
Endurance Group Events Aggregate Log Change Notices event supported
``NVME_CTRL_OAES_NS``
Normal NVM Subsystem Shutdown event supported
``NVME_CTRL_OAES_TTH``
Temperature Threshold Hysteresis Recovery event supported
``NVME_CTRL_OAES_RGCNS``
Reachability Groups Change Notices supported
``NVME_CTRL_OAES_ANSAN``
Allocated Namespace Attribute Notices supported
``NVME_CTRL_OAES_ZD``
Zone Descriptor Change Notifications supported
@ -2645,6 +2844,30 @@ power scale value
**Constants**
``NVME_CTRL_FNA_FMT_ALL_NS_SHIFT``
Shift amount to get the format applied to all namespaces
``NVME_CTRL_FNA_SEC_ALL_NS_SHIFT``
Shift amount to get the secure erase applied to all namespaces
``NVME_CTRL_FNA_CES_SHIFT``
Shift amount to get the cryptographic erase supported
``NVME_CTRL_FNA_NSID_ALL_F_SHIFT``
Shift amount to get the format supported an NSID FFFFFFFFh
``NVME_CTRL_FNA_FMT_ALL_NS_MASK``
Mask to get the format applied to all namespaces
``NVME_CTRL_FNA_SEC_ALL_NS_MASK``
Mask to get the secure erase applied to all namespaces
``NVME_CTRL_FNA_CES_MASK``
Mask to get the cryptographic erase supported
``NVME_CTRL_FNA_NSID_ALL_F_MASK``
Mask to get the format supported an NSID FFFFFFFFh
``NVME_CTRL_FNA_FMT_ALL_NAMESPACES``
If set, then all namespaces in an NVM
subsystem shall be configured with the
@ -3795,7 +4018,9 @@ power scale value
__le64 dmsl;
__u8 rsvd16[2];
__le16 aocs;
__u8 rsvd20[4076];
__le32 ver;
__u8 lbamqf;
__u8 rsvd25[4071];
};
**Members**
@ -3824,7 +4049,13 @@ power scale value
``aocs``
Admin Optional Command Support
``rsvd20``
``ver``
Version
``lbamqf``
LBA Migration Queue Format
``rsvd25``
Reserved
@ -3846,7 +4077,11 @@ power scale value
__u8 rsvd10[2];
__le32 elbaf[64];
__le32 npdgl;
__u8 rsvd272[20];
__le32 nprg;
__le32 npra;
__le32 nors;
__le32 npdal;
__le32 lbapss;
__le32 tlbaag;
__u8 rsvd296[3800];
};
@ -3871,8 +4106,20 @@ power scale value
``npdgl``
Namespace Preferred Deallocate Granularity Large
``rsvd272``
Reserved
``nprg``
Namespace Preferred Read Granularity
``npra``
Namespace Preferred Read Alignment
``nors``
Namespace Optimal Read Size
``npdal``
Namespace Preferred Deallocate Alignment Large
``lbapss``
LBA Format Placement Shard Size
``tlbaag``
Tracked LBA Allocation Granularity
@ -4854,6 +5101,9 @@ Supported Log Pages (Log Identifier 00h)
``NVME_CMD_EFFECTS_CCC``
Controller Capability Change
``NVME_CMD_EFFECTS_CSER_MASK``
Command Submission and Execution Relaxations
``NVME_CMD_EFFECTS_CSE_MASK``
Command Submission and Execution
@ -5879,6 +6129,9 @@ bytes, in size. This log captures the controllers internal state.
``NVME_PEL_THERMAL_EXCURSION_EVENT``
Thermal Excursion Event
``NVME_PEL_SANITIZE_MEDIA_VERIF_EVENT``
Sanitize Media Verification Event
``NVME_PEL_VENDOR_SPECIFIC_EVENT``
Vendor Specific Event
@ -7289,6 +7542,39 @@ bytes, in size. This log captures the controllers internal state.
.. c:struct:: nvme_lockdown_log
Command and Feature Lockdown Log
**Definition**
::
struct nvme_lockdown_log {
__u8 cfila;
__u8 rsvd1[2];
__u8 lngth;
__u8 cfil[508];
};
**Members**
``cfila``
Contents of the Command and Feature Identifier List field in the log page.
``rsvd1``
Reserved
``lngth``
Length of Command and Feature Identifier List field
``cfil``
Command and Feature Identifier List
.. c:struct:: nvme_resv_notification_log
Reservation Notification Log
@ -7369,7 +7655,9 @@ bytes, in size. This log captures the controllers internal state.
__le32 etond;
__le32 etbend;
__le32 etcend;
__u8 rsvd32[480];
__le32 etpvds;
__u8 ssi;
__u8 rsvd37[475];
};
**Members**
@ -7456,7 +7744,19 @@ bytes, in size. This log captures the controllers internal state.
started that operation is completed. A value of FFFFFFFFh indicates
that no time period is reported.
``rsvd32``
``etpvds``
Estimated Time For Post-Verification Deallocation State: indicates the
number of seconds required to deallocate all media allocated for user data
after exiting the Media Verification state (i.e., the time difference between
entering and exiting the Post-Verification Deallocation state), if that state
is entered as part of the sanitize operation. A value of FFFFFFFFh indicates
that no time period is reported.
``ssi``
Sanitize State Information: indicate the state of the Sanitize Operation
State Machine.
``rsvd37``
Reserved
@ -7532,6 +7832,79 @@ bytes, in size. This log captures the controllers internal state.
or since the most recent successful sanitize
operation.
``NVME_SANITIZE_SSTAT_MVCNCLD_SHIFT``
Shift amount to get the value of Media Verification
Canceled bit of Sanitize status field.
``NVME_SANITIZE_SSTAT_MVCNCLD_MASK``
Mask to get the value of Media Verification Canceled
bit of Sanitize status field.
.. c:enum:: nvme_sanitize_ssi
Sanitize State Information (SSI)
**Constants**
``NVME_SANITIZE_SSI_SANS_SHIFT``
Shift amount to get the value of Sanitize State
from Sanitize State Information (SSI) field.
``NVME_SANITIZE_SSI_SANS_MASK``
Mask to get the value of Sanitize State from
Sanitize State Information (SSI) field.
``NVME_SANITIZE_SSI_FAILS_SHIFT``
Shift amount to get the value of Failure State
from Sanitize State Information (SSI) field.
``NVME_SANITIZE_SSI_FAILS_MASK``
Mask to get the value of Failure State from
Sanitize State Information (SSI) field.
``NVME_SANITIZE_SSI_IDLE``
No sanitize operation is in process.
``NVME_SANITIZE_SSI_RESTRICT_PROCESSING``
The Sanitize operation is in Restricted Processing
State.
``NVME_SANITIZE_SSI_RESTRICT_FAILURE``
The Sanitize operation is in Restricted Failure
State. This state is entered if sanitize processing
was performed in the Restricted Processing state and
sanitize processing failed or a failure occurred
during deallocation of media allocated for user data
in the Post-Verification Deallocation state.
``NVME_SANITIZE_SSI_UNRESTRICT_PROCESSING``
The Sanitize operation is in Unrestricted Processing
State.
``NVME_SANITIZE_SSI_UNRESTRICT_FAILURE``
The Sanitize operation is in Unrestricted Failure
State. This state is entered if sanitize processing
was performed in the Unrestricted Processing state
and sanitize processing failed or a failure occurred
during deallocation of media allocated for user data
in the Post-Verification.
``NVME_SANITIZE_SSI_MEDIA_VERIFICATION``
The Sanitize operation is in Media Verification
State. In this state, the sanitize processing
completed successfully, and all media allocated for
user data in the sanitization target is readable by
the host for purposes of verifying sanitization.
``NVME_SANITIZE_SSI_POST_VERIF_DEALLOC``
The Sanitize operation is in Post-Verification
Deallocation State. In this state, the controller
shall deallocate all media allocated for user data
in the sanitization target.
@ -7778,6 +8151,66 @@ bytes, in size. This log captures the controllers internal state.
.. c:enum:: nvme_lockdown_log_scope
lockdown log page scope attributes
**Constants**
``NVME_LOCKDOWN_ADMIN_CMD``
Scope value for Admin commandS
``NVME_LOCKDOWN_FEATURE_ID``
Scope value for Feature ID
``NVME_LOCKDOWN_MI_CMD_SET``
Scope value for Management Interface commands
``NVME_LOCKDOWN_PCI_CMD_SET``
Scope value for PCI commands
.. c:enum:: nvme_lockdown_log_contents
lockdown log page content attributes
**Constants**
``NVME_LOCKDOWN_SUPPORTED_CMD``
Content value for Supported commands
``NVME_LOCKDOWN_PROHIBITED_CMD``
Content value for prohibited commands
``NVME_LOCKDOWN_PROHIBITED_OUTOFBAND_CMD``
Content value for prohibited side band commands
.. c:enum:: nvme_lockdown_scope_contents
Lockdown Log shift and mask
**Constants**
``NVME_LOCKDOWN_SS_SHIFT``
Lockdown log scope select Shift
``NVME_LOCKDOWN_SS_MASK``
Lockdown log scope select Mask
``NVME_LOCKDOWN_CS_SHIFT``
Lockdown log contents Shift
``NVME_LOCKDOWN_CS_MASK``
Lockdown log contents Mask
.. c:struct:: nvme_fdp_config_desc
FDP Configuration Descriptor
@ -8373,6 +8806,28 @@ bytes, in size. This log captures the controllers internal state.
.. c:enum:: nvme_lba_status_cmpc
Get LBA Status Command Completion Condition
**Constants**
``NVME_LBA_STATUS_CMPC_NO_CMPC``
No indication of the completion condition
``NVME_LBA_STATUS_CMPC_INCOMPLETE``
Command completed, but additional LBA Status
Descriptor Entries are available to transfer
or scan did not complete (if ATYPE = 10h)
``NVME_LBA_STATUS_CMPC_COMPLETE``
Completed the specified action over the number
of LBAs specified in the Range Length field and
transferred all available LBA Status Descriptors
.. c:struct:: nvme_feat_auto_pst
Autonomous Power State Transition
@ -11550,6 +12005,30 @@ entries are of a variable lengths (TEL), TEL is always a multiple of
Host NQN used by the DDC to connect
to the CDC.
``NVME_SC_INVALID_CONTROLER_DATA_QUEUE``
This error indicates that the
specified Controller Data Queue
Identifier is invalid for the controller
processing the command.
``NVME_SC_NOT_ENOUGH_RESOURCES``
This error indicates that there is not
enough resources in the controller to
process the command.
``NVME_SC_CONTROLLER_SUSPENDED``
The operation requested is not allowed if
the specified controller is suspended.
``NVME_SC_CONTROLLER_NOT_SUSPENDED``
The operation requested is not allowed if
the specified controller is not
suspended.
``NVME_SC_CONTROLLER_DATA_QUEUE_FULL``
The controller detected that a
Controller Data Queue became full.
``NVME_SC_BAD_ATTRIBUTES``
Conflicting Dataset Management Attributes
@ -12088,6 +12567,11 @@ true if **status** is of the specified type and value
``NVME_IDENTIFY_CNS_COMMAND_SET_STRUCTURE``
Base Specification 2.0a section 5.17.2.21
``NVME_IDENTIFY_CNS_SUPPORTED_CTRL_STATE_FORMATS``
Supported Controller State Formats
identifying the supported NVMe Controller
State data structures
@ -12163,9 +12647,27 @@ true if **status** is of the specified type and value
``NVME_LOG_LID_BOOT_PARTITION``
Boot Partition
``NVME_LOG_LID_ROTATIONAL_MEDIA_INFO``
Rotational Media Information
``NVME_LOG_LID_DISPERSED_NS_PARTICIPATING_NSS``
Dispersed Namespace Participating NVM Subsystems
``NVME_LOG_LID_MGMT_ADDR_LIST``
Management Address List
``NVME_LOG_LID_PHY_RX_EOM``
Physical Interface Receiver Eye Opening Measurement
``NVME_LOG_LID_REACHABILITY_GROUPS``
Reachability Groups
``NVME_LOG_LID_REACHABILITY_ASSOCIATIONS``
Reachability Associations
``NVME_LOG_LID_CHANGED_ALLOC_NS_LIST``
Changed Allocated Namespace List
``NVME_LOG_LID_FDP_CONFIGS``
FDP Configurations
@ -12181,6 +12683,15 @@ true if **status** is of the specified type and value
``NVME_LOG_LID_DISCOVER``
Discovery
``NVME_LOG_LID_HOST_DISCOVER``
Host Discovery
``NVME_LOG_LID_AVE_DISCOVER``
AVE Discovery
``NVME_LOG_LID_PULL_MODEL_DDC_REQ``
Pull Model DDC Request
``NVME_LOG_LID_RESERVATION``
Reservation Notification
@ -12782,6 +13293,9 @@ true if **status** is of the specified type and value
``NVME_SANITIZE_SANACT_START_CRYPTO_ERASE``
Start a Crypto Erase sanitize operation.
``NVME_SANITIZE_SANACT_EXIT_MEDIA_VERIF``
Exit Media Verification State
@ -13151,6 +13665,45 @@ true if **status** is of the specified type and value
.. c:enum:: nvme_kv_opcode
Opcodes for KV Commands
**Constants**
``nvme_kv_cmd_flush``
Flush
``nvme_kv_cmd_store``
Store
``nvme_kv_cmd_retrieve``
Retrieve
``nvme_kv_cmd_list``
List
``nvme_kv_cmd_resv_register``
Reservation Register
``nvme_kv_cmd_resv_report``
Reservation Report
``nvme_kv_cmd_delete``
Delete
``nvme_kv_cmd_resv_acquire``
Reservation Acquire
``nvme_kv_cmd_exist``
Exist
``nvme_kv_cmd_resv_release``
Reservation Release
.. c:enum:: nvme_io_control_flags
I/O control flags

View file

@ -73,6 +73,9 @@ libnvme utility functions
``ENVME_CONNECT_IGNORED``
connect attempt is ignored due to configuration
``ENVME_CONNECT_NOKEY``
the TLS key is missing
.. c:function:: __u8 nvme_status_to_errno (int status, bool fabrics)