NVMe over Fabrics specification definitions. More...
Macros | |
#define | SPDK_NVME_OPC_FABRIC 0x7f |
#define | SPDK_NVMF_DISCOVERY_LOG_EFLAGS_DUPRETINFO (1u << 0u) |
#define | SPDK_NVMF_DISCOVERY_LOG_EFLAGS_EPCSD (1u << 1u) |
#define | SPDK_NVMF_PROP_SIZE_4 0 |
#define | SPDK_NVMF_PROP_SIZE_8 1 |
#define | SPDK_NVMF_NQN_MIN_LEN 11 /* The prefix in the spec is 11 characters */ |
#define | SPDK_NVMF_NQN_MAX_LEN 223 |
#define | SPDK_NVMF_NQN_UUID_PRE_LEN 32 |
#define | SPDK_NVMF_UUID_STRING_LEN 36 |
#define | SPDK_NVMF_NQN_UUID_PRE "nqn.2014-08.org.nvmexpress:uuid:" |
#define | SPDK_NVMF_DISCOVERY_NQN "nqn.2014-08.org.nvmexpress.discovery" |
#define | SPDK_DOMAIN_LABEL_MAX_LEN 63 /* RFC 1034 max domain label length */ |
#define | SPDK_NVMF_TRSTRING_MAX_LEN 32 |
#define | SPDK_NVMF_TRADDR_MAX_LEN 256 |
#define | SPDK_NVMF_TRSVCID_MAX_LEN 32 |
#define | SPDK_NVMF_MIN_ADMIN_MAX_SQ_SIZE 32 |
#define | SPDK_NVMF_AUTH_SECP_NVME 0xe9 |
Security protocol identifier assigned to NVMe. | |
#define | SPDK_NVMF_AUTH_FAILURE 1 |
AUTH_Failure reason codes. | |
#define | SPDK_NVME_SGL_SUBTYPE_INVALIDATE_KEY 0xF |
#define | SPDK_NVME_TCP_CH_FLAGS_HDGSTF (1u << 0) |
#define | SPDK_NVME_TCP_CH_FLAGS_DDGSTF (1u << 1) |
#define | SPDK_NVME_TCP_HPDA_MAX 31 |
#define | SPDK_NVME_TCP_CPDA_MAX 31 |
#define | SPDK_NVME_TCP_PDU_PDO_MAX_OFFSET ((SPDK_NVME_TCP_CPDA_MAX + 1) << 2) |
#define | SPDK_NVME_TCP_TERM_REQ_ERROR_DATA_MAX_SIZE 128 |
#define | SPDK_NVME_TCP_TERM_REQ_PDU_MAX_SIZE (SPDK_NVME_TCP_TERM_REQ_ERROR_DATA_MAX_SIZE + sizeof(struct spdk_nvme_tcp_term_req_hdr)) |
#define | SPDK_NVME_TCP_H2C_DATA_FLAGS_LAST_PDU (1u << 2) |
#define | SPDK_NVME_TCP_H2C_DATA_FLAGS_SUCCESS (1u << 3) |
#define | SPDK_NVME_TCP_H2C_DATA_PDO_MULT 8u |
#define | SPDK_NVME_TCP_C2H_DATA_FLAGS_SUCCESS (1u << 3) |
#define | SPDK_NVME_TCP_C2H_DATA_FLAGS_LAST_PDU (1u << 2) |
#define | SPDK_NVME_TCP_C2H_DATA_PDO_MULT 8u |
Enumerations | |
enum | spdk_nvmf_fabric_cmd_types { SPDK_NVMF_FABRIC_COMMAND_PROPERTY_SET = 0x00 , SPDK_NVMF_FABRIC_COMMAND_CONNECT = 0x01 , SPDK_NVMF_FABRIC_COMMAND_PROPERTY_GET = 0x04 , SPDK_NVMF_FABRIC_COMMAND_AUTHENTICATION_SEND = 0x05 , SPDK_NVMF_FABRIC_COMMAND_AUTHENTICATION_RECV = 0x06 , SPDK_NVMF_FABRIC_COMMAND_START_VENDOR_SPECIFIC = 0xC0 } |
enum | spdk_nvmf_fabric_cmd_status_code { SPDK_NVMF_FABRIC_SC_INCOMPATIBLE_FORMAT = 0x80 , SPDK_NVMF_FABRIC_SC_CONTROLLER_BUSY = 0x81 , SPDK_NVMF_FABRIC_SC_INVALID_PARAM = 0x82 , SPDK_NVMF_FABRIC_SC_RESTART_DISCOVERY = 0x83 , SPDK_NVMF_FABRIC_SC_INVALID_HOST = 0x84 , SPDK_NVMF_FABRIC_SC_LOG_RESTART_DISCOVERY = 0x90 , SPDK_NVMF_FABRIC_SC_AUTH_REQUIRED = 0x91 } |
enum | spdk_nvmf_rdma_qptype { SPDK_NVMF_RDMA_QPTYPE_RELIABLE_CONNECTED = 0x1 , SPDK_NVMF_RDMA_QPTYPE_RELIABLE_DATAGRAM = 0x2 } |
RDMA Queue Pair service types. More... | |
enum | spdk_nvmf_rdma_prtype { SPDK_NVMF_RDMA_PRTYPE_NONE = 0x1 , SPDK_NVMF_RDMA_PRTYPE_IB = 0x2 , SPDK_NVMF_RDMA_PRTYPE_ROCE = 0x3 , SPDK_NVMF_RDMA_PRTYPE_ROCE2 = 0x4 , SPDK_NVMF_RDMA_PRTYPE_IWARP = 0x5 } |
RDMA provider types. More... | |
enum | spdk_nvmf_rdma_cms { SPDK_NVMF_RDMA_CMS_RDMA_CM = 0x1 } |
RDMA connection management service types. More... | |
enum | spdk_nvmf_trtype { SPDK_NVMF_TRTYPE_RDMA = 0x1 , SPDK_NVMF_TRTYPE_FC = 0x2 , SPDK_NVMF_TRTYPE_TCP = 0x3 , SPDK_NVMF_TRTYPE_INTRA_HOST = 0xfe } |
NVMe over Fabrics transport types. More... | |
enum | spdk_nvmf_adrfam { SPDK_NVMF_ADRFAM_IPV4 = 0x1 , SPDK_NVMF_ADRFAM_IPV6 = 0x2 , SPDK_NVMF_ADRFAM_IB = 0x3 , SPDK_NVMF_ADRFAM_FC = 0x4 , SPDK_NVMF_ADRFAM_INTRA_HOST = 0xfe } |
Address family types. More... | |
enum | spdk_nvmf_subtype { SPDK_NVMF_SUBTYPE_DISCOVERY = 0x1 , SPDK_NVMF_SUBTYPE_NVME = 0x2 , SPDK_NVMF_SUBTYPE_DISCOVERY_CURRENT = 0x3 } |
NVM subsystem types. More... | |
enum | spdk_nvmf_treq_secure_channel { SPDK_NVMF_TREQ_SECURE_CHANNEL_NOT_SPECIFIED = 0x0 , SPDK_NVMF_TREQ_SECURE_CHANNEL_REQUIRED = 0x1 , SPDK_NVMF_TREQ_SECURE_CHANNEL_NOT_REQUIRED = 0x2 } |
Connections shall be made over a fabric secure channel. More... | |
enum | spdk_nvme_tcp_secure_socket_type { SPDK_NVME_TCP_SECURITY_NONE = 0 , SPDK_NVME_TCP_SECURITY_TLS_1_2 = 1 , SPDK_NVME_TCP_SECURITY_TLS_1_3 = 2 } |
TCP Secure Socket Type. More... | |
enum | spdk_nvmf_auth_type { SPDK_NVMF_AUTH_TYPE_COMMON_MESSAGE = 0x0 , SPDK_NVMF_AUTH_TYPE_DHCHAP = 0x1 } |
Authentication types. | |
enum | spdk_nvmf_auth_id { SPDK_NVMF_AUTH_ID_NEGOTIATE = 0x00 , SPDK_NVMF_AUTH_ID_DHCHAP_CHALLENGE = 0x01 , SPDK_NVMF_AUTH_ID_DHCHAP_REPLY = 0x02 , SPDK_NVMF_AUTH_ID_DHCHAP_SUCCESS1 = 0x03 , SPDK_NVMF_AUTH_ID_DHCHAP_SUCCESS2 = 0x04 , SPDK_NVMF_AUTH_ID_FAILURE2 = 0xf0 , SPDK_NVMF_AUTH_ID_FAILURE1 = 0xf1 } |
AUTH message identifiers. | |
enum | spdk_nvmf_dhchap_hash { SPDK_NVMF_DHCHAP_HASH_NONE = 0x0 , SPDK_NVMF_DHCHAP_HASH_SHA256 = 0x1 , SPDK_NVMF_DHCHAP_HASH_SHA384 = 0x2 , SPDK_NVMF_DHCHAP_HASH_SHA512 = 0x3 } |
Hash function identifiers. | |
enum | spdk_nvmf_dhchap_dhgroup { SPDK_NVMF_DHCHAP_DHGROUP_NULL = 0x0 , SPDK_NVMF_DHCHAP_DHGROUP_2048 = 0x1 , SPDK_NVMF_DHCHAP_DHGROUP_3072 = 0x2 , SPDK_NVMF_DHCHAP_DHGROUP_4096 = 0x3 , SPDK_NVMF_DHCHAP_DHGROUP_6144 = 0x4 , SPDK_NVMF_DHCHAP_DHGROUP_8192 = 0x5 } |
Diffie-Hellman group identifiers. | |
enum | spdk_nvmf_auth_scc { SPDK_NVMF_AUTH_SCC_DISABLED = 0 , SPDK_NVMF_AUTH_SCC_TLS = 1 } |
Secure channel concatenation. More... | |
enum | spdk_nvmf_auth_failure_reason { SPDK_NVMF_AUTH_FAILED = 0x1 , SPDK_NVMF_AUTH_PROTOCOL_UNUSABLE = 0x2 , SPDK_NVMF_AUTH_SCC_MISMATCH = 0x3 , SPDK_NVMF_AUTH_HASH_UNUSABLE = 0x4 , SPDK_NVMF_AUTH_DHGROUP_UNUSABLE = 0x5 , SPDK_NVMF_AUTH_INCORRECT_PAYLOAD = 0x6 , SPDK_NVMF_AUTH_INCORRECT_PROTOCOL_MESSAGE = 0x7 } |
AUTH_Failure reason code explanations. | |
enum | spdk_nvmf_rdma_transport_error { SPDK_NVMF_RDMA_ERROR_INVALID_PRIVATE_DATA_LENGTH = 0x1 , SPDK_NVMF_RDMA_ERROR_INVALID_RECFMT = 0x2 , SPDK_NVMF_RDMA_ERROR_INVALID_QID = 0x3 , SPDK_NVMF_RDMA_ERROR_INVALID_HSQSIZE = 0x4 , SPDK_NVMF_RDMA_ERROR_INVALID_HRQSIZE = 0x5 , SPDK_NVMF_RDMA_ERROR_NO_RESOURCES = 0x6 , SPDK_NVMF_RDMA_ERROR_INVALID_IRD = 0x7 , SPDK_NVMF_RDMA_ERROR_INVALID_ORD = 0x8 } |
enum | spdk_nvme_tcp_pdu_type { SPDK_NVME_TCP_PDU_TYPE_IC_REQ = 0x00 , SPDK_NVME_TCP_PDU_TYPE_IC_RESP = 0x01 , SPDK_NVME_TCP_PDU_TYPE_H2C_TERM_REQ = 0x02 , SPDK_NVME_TCP_PDU_TYPE_C2H_TERM_REQ = 0x03 , SPDK_NVME_TCP_PDU_TYPE_CAPSULE_CMD = 0x04 , SPDK_NVME_TCP_PDU_TYPE_CAPSULE_RESP = 0x05 , SPDK_NVME_TCP_PDU_TYPE_H2C_DATA = 0x06 , SPDK_NVME_TCP_PDU_TYPE_C2H_DATA = 0x07 , SPDK_NVME_TCP_PDU_TYPE_R2T = 0x09 } |
NVMe/TCP PDU type. More... | |
enum | spdk_nvme_tcp_term_req_fes { SPDK_NVME_TCP_TERM_REQ_FES_INVALID_HEADER_FIELD = 0x01 , SPDK_NVME_TCP_TERM_REQ_FES_PDU_SEQUENCE_ERROR = 0x02 , SPDK_NVME_TCP_TERM_REQ_FES_HDGST_ERROR = 0x03 , SPDK_NVME_TCP_TERM_REQ_FES_DATA_TRANSFER_OUT_OF_RANGE = 0x04 , SPDK_NVME_TCP_TERM_REQ_FES_DATA_TRANSFER_LIMIT_EXCEEDED = 0x05 , SPDK_NVME_TCP_TERM_REQ_FES_R2T_LIMIT_EXCEEDED = 0x05 , SPDK_NVME_TCP_TERM_REQ_FES_INVALID_DATA_UNSUPPORTED_PARAMETER = 0x06 } |
Functions | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_capsule_cmd)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_fabric_auth_recv_cmd)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_fabric_auth_send_cmd)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_fabric_connect_data)==1024, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_fabric_connect_cmd)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_fabric_connect_rsp)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_fabric_prop_get_cmd)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_fabric_prop_get_rsp)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_fabric_prop_set_cmd)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_rdma_transport_specific_address_subtype)==256, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_tcp_transport_specific_address_subtype)==256, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvmf_transport_specific_address_subtype)==256, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_discovery_log_page_entry)==1024, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_discovery_log_page)==1024, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_auth_descriptor)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_auth_negotiate)==8, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_dhchap_challenge)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_dhchap_reply)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_dhchap_success1)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_dhchap_success2)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_auth_failure)==8, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_rdma_request_private_data)==32, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_rdma_accept_private_data)==32, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvmf_rdma_reject_private_data)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvmf_rdma_private_data)==32, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_tcp_common_pdu_hdr)==8, "Incorrect size") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_common_pdu_hdr, pdu_type)==0, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_common_pdu_hdr, flags)==1, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_common_pdu_hdr, hlen)==2, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_common_pdu_hdr, pdo)==3, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_common_pdu_hdr, plen)==4, "Incorrect offset") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_tcp_ic_req)==128, "Incorrect size") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_ic_req, pfv)==8, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_ic_req, hpda)==10, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_ic_req, maxr2t)==12, "Incorrect offset") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_tcp_ic_resp)==128, "Incorrect size") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_ic_resp, pfv)==8, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_ic_resp, cpda)==10, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_ic_resp, maxh2cdata)==12, "Incorrect offset") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_tcp_term_req_hdr)==24, "Incorrect size") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_term_req_hdr, fes)==8, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_term_req_hdr, fei)==10, "Incorrect offset") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_tcp_cmd)==72, "Incorrect size") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_cmd, ccsqe)==8, "Incorrect offset") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_tcp_rsp)==24, "incorrect size") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_rsp, rccqe)==8, "Incorrect offset") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_tcp_h2c_data_hdr)==24, "Incorrect size") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_h2c_data_hdr, cccid)==8, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_h2c_data_hdr, ttag)==10, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_h2c_data_hdr, datao)==12, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_h2c_data_hdr, datal)==16, "Incorrect offset") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_tcp_c2h_data_hdr)==24, "Incorrect size") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_c2h_data_hdr, cccid)==8, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_c2h_data_hdr, datao)==12, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_c2h_data_hdr, datal)==16, "Incorrect offset") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_tcp_r2t_hdr)==24, "Incorrect size") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_r2t_hdr, cccid)==8, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_r2t_hdr, ttag)==10, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_r2t_hdr, r2to)==12, "Incorrect offset") | |
SPDK_STATIC_ASSERT (offsetof(struct spdk_nvme_tcp_r2t_hdr, r2tl)==16, "Incorrect offset") | |
NVMe over Fabrics specification definitions.
NVMe/TCP PDU type.
enum spdk_nvmf_adrfam |
enum spdk_nvmf_auth_scc |
enum spdk_nvmf_rdma_cms |
enum spdk_nvmf_subtype |
enum spdk_nvmf_trtype |