diff --git a/examples/nvme/identify/identify.c b/examples/nvme/identify/identify.c index d17448e7e..dbcc9522d 100644 --- a/examples/nvme/identify/identify.c +++ b/examples/nvme/identify/identify.c @@ -944,6 +944,8 @@ print_controller(struct spdk_nvme_ctrlr *ctrlr, const struct spdk_nvme_transport cdata->sgls.metadata_address ? "Supported" : "Not Supported"); printf(" SGL Offset: %s\n", cdata->sgls.sgl_offset ? "Supported" : "Not Supported"); + printf(" Transport SGL Data Block: %s\n", + cdata->sgls.transport_sgl ? "Supported" : "Not Supported"); printf("\n"); printf("Firmware Slot Information\n"); diff --git a/include/spdk/nvme_spec.h b/include/spdk/nvme_spec.h index 0658bfee7..f57fc3572 100644 --- a/include/spdk/nvme_spec.h +++ b/include/spdk/nvme_spec.h @@ -375,7 +375,8 @@ enum spdk_nvme_sgl_descriptor_type { SPDK_NVME_SGL_TYPE_SEGMENT = 0x2, SPDK_NVME_SGL_TYPE_LAST_SEGMENT = 0x3, SPDK_NVME_SGL_TYPE_KEYED_DATA_BLOCK = 0x4, - /* 0x5 - 0xE reserved */ + SPDK_NVME_SGL_TYPE_TRANSPORT_DATA_BLOCK = 0x5, + /* 0x6 - 0xE reserved */ SPDK_NVME_SGL_TYPE_VENDOR_SPECIFIC = 0xF }; @@ -1203,7 +1204,8 @@ struct __attribute__((packed)) spdk_nvme_ctrlr_data { uint32_t oversized_sgl : 1; uint32_t metadata_address : 1; uint32_t sgl_offset : 1; - uint32_t reserved2: 11; + uint32_t transport_sgl : 1; + uint32_t reserved2 : 10; } sgls; uint8_t reserved4[228];