Skip to contentSkip to conversation

nvme: Correct NVMF enum values to match NVMe-oF rev 1.0

PATCH New Roland Dreier 5 participants 9 messages Mar 2, 2017 – Mar 6, 2017 NVMe

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0

From: Roland Dreier <[email protected]>

The enum values for QPTYPE, PRTYPE and CMS are off by 1 from the values defined in figure 42 of the NVM Express over Fabrics 1.0:

    http://www.nvmexpress.org/wp-content/uploads/NVMe_over_Fabrics_1_0_Gold_20160605-1.pdf

Fix our enums to match the final spec.

Signed-off-by Roland Dreier <roland at purestorage.com>
---
 include/linux/nvme.h | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
include/linux/nvme.h +8 -8
index c43d435d4225..9061780b141f 100644
@@ -64,26 +64,26 @@ enum {
  * RDMA_QPTYPE field
  */
 enum {
-	NVMF_RDMA_QPTYPE_CONNECTED	= 0, /* Reliable Connected */
-	NVMF_RDMA_QPTYPE_DATAGRAM	= 1, /* Reliable Datagram */
+	NVMF_RDMA_QPTYPE_CONNECTED	= 1, /* Reliable Connected */
+	NVMF_RDMA_QPTYPE_DATAGRAM	= 2, /* Reliable Datagram */
 };
 
 /* RDMA QP Service Type codes for Discovery Log Page entry TSAS
  * RDMA_QPTYPE field
  */
 enum {
-	NVMF_RDMA_PRTYPE_NOT_SPECIFIED	= 0, /* No Provider Specified */
-	NVMF_RDMA_PRTYPE_IB		= 1, /* InfiniBand */
-	NVMF_RDMA_PRTYPE_ROCE		= 2, /* InfiniBand RoCE */
-	NVMF_RDMA_PRTYPE_ROCEV2		= 3, /* InfiniBand RoCEV2 */
-	NVMF_RDMA_PRTYPE_IWARP		= 4, /* IWARP */
+	NVMF_RDMA_PRTYPE_NOT_SPECIFIED	= 1, /* No Provider Specified */
+	NVMF_RDMA_PRTYPE_IB		= 2, /* InfiniBand */
+	NVMF_RDMA_PRTYPE_ROCE		= 3, /* InfiniBand RoCE */
+	NVMF_RDMA_PRTYPE_ROCEV2		= 4, /* InfiniBand RoCEV2 */
+	NVMF_RDMA_PRTYPE_IWARP		= 5, /* IWARP */
 };
 
 /* RDMA Connection Management Service Type codes for Discovery Log Page
  * entry TSAS RDMA_CMS field
  */
 enum {
-	NVMF_RDMA_CMS_RDMA_CM	= 0, /* Sockets based enpoint addressing */
+	NVMF_RDMA_CMS_RDMA_CM	= 1, /* Sockets based endpoint addressing */
 };
 
 #define NVMF_AQ_DEPTH		32
Signature · 1 line
2.10.2
#1 lore raw

PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0

Quoted 8 lines · Roland Dreier

From: Roland Dreier <roland at purestorage.com>

The enum values for QPTYPE, PRTYPE and CMS are off by 1 from the values defined in figure 42 of the NVM Express over Fabrics 1.0:

    http://www.nvmexpress.org/wp-content/uploads/NVMe_over_Fabrics_1_0_Gold_20160605-1.pdf

Fix our enums to match the final spec.

So this basically affects the discovery information, which at least in the Linux world is not used anywhere except for printing it in nvme-cli. So this looks fine:

Reviewed-by Christoph Hellwig <hch at lst.de>

But can you also send an update for nvme-cli, please?

#2 lore raw

PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0

Quoted 7 lines · Christoph Hellwig

So this basically affects the discovery information, which at least in the Linux world is not used anywhere except for printing it in nvme-cli. So this looks fine:

Reviewed-by Christoph Hellwig <hch at lst.de>

But can you also send an update for nvme-cli, please?

Yep, that's done: https://github.com/linux-nvme/nvme-cli/pull/161

#3 lore raw

PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0

Quoted 10 lines · Keith Busch
Quoted 7 lines · Christoph Hellwig

So this basically affects the discovery information, which at least in the Linux world is not used anywhere except for printing it in nvme-cli. So this looks fine:

Reviewed-by Christoph Hellwig <hch at lst.de>

But can you also send an update for nvme-cli, please?

Yep, that's done: https://github.com/linux-nvme/nvme-cli/pull/161

Grr, damn github pull requests that defeat review..

#4 lore raw

PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0

Quoted 1 line · Christoph Hellwig

Grr, damn github pull requests that defeat review..

Are mailing list patches or github pull requests preferred for nvme-cli changes? (Christoph I know how you'll answer, more wondering about Keith ;)

I thought that the "github native" method is better for github-hosted projects, but obviously I can just as easily email patches.

- R.

#5 lore raw

PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0

Quoted 6 lines · Roland Dreier
Quoted 1 line · Christoph Hellwig

Grr, damn github pull requests that defeat review..

Are mailing list patches or github pull requests preferred for nvme-cli changes? (Christoph I know how you'll answer, more wondering about Keith ;)

Just considering the convenience, I can pull github requests from just about anywhere in the world with one click on my phone. It's a slightly more involved process to apply email patches. :)

I'm really okay with either, though substantial changes should be sent to the mailing list first since that is our single source of all linux-nvme related reviewers. I currently rely on our best judgement to decide what's mailing list material, but if Christoph or anyone is really concerned about this, I will concede the mailing list as the preferred path.

#6 lore raw

PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0

Quoted 9 lines · Keith Busch

Just considering the convenience, I can pull github requests from just about anywhere in the world with one click on my phone. It's a slightly more involved process to apply email patches. :)

I'm really okay with either, though substantial changes should be sent to the mailing list first since that is our single source of all linux-nvme related reviewers. I currently rely on our best judgement to decide what's mailing list material, but if Christoph or anyone is really concerned about this, I will concede the mailing list as the preferred path.

It's easy enough to do both, I'll do that for the second fix I have now.

- R.

#7 lore raw

PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0

In reply to Roland Dreier
Quoted 54 lines

From: Roland Dreier <roland at purestorage.com>

The enum values for QPTYPE, PRTYPE and CMS are off by 1 from the values defined in figure 42 of the NVM Express over Fabrics 1.0:

    http://www.nvmexpress.org/wp-content/uploads/NVMe_over_Fabrics_1_0_Gold_20160605-1.pdf

Fix our enums to match the final spec.

Signed-off-by Roland Dreier <roland at purestorage.com>
---
 include/linux/nvme.h | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
include/linux/nvme.h +8 -9
index c43d435d4225..9061780b141f 100644
@@ -64,26 +64,26 @@ enum {
  * RDMA_QPTYPE field
  */
 enum {
-	NVMF_RDMA_QPTYPE_CONNECTED	= 0, /* Reliable Connected */
-	NVMF_RDMA_QPTYPE_DATAGRAM	= 1, /* Reliable Datagram */
+	NVMF_RDMA_QPTYPE_CONNECTED	= 1, /* Reliable Connected */
+	NVMF_RDMA_QPTYPE_DATAGRAM	= 2, /* Reliable Datagram */
 };
 
 /* RDMA QP Service Type codes for Discovery Log Page entry TSAS
  * RDMA_QPTYPE field
  */
 enum {
-	NVMF_RDMA_PRTYPE_NOT_SPECIFIED	= 0, /* No Provider Specified */
-	NVMF_RDMA_PRTYPE_IB		= 1, /* InfiniBand */
-	NVMF_RDMA_PRTYPE_ROCE		= 2, /* InfiniBand RoCE */
-	NVMF_RDMA_PRTYPE_ROCEV2		= 3, /* InfiniBand RoCEV2 */
-	NVMF_RDMA_PRTYPE_IWARP		= 4, /* IWARP */
+	NVMF_RDMA_PRTYPE_NOT_SPECIFIED	= 1, /* No Provider Specified */
+	NVMF_RDMA_PRTYPE_IB		= 2, /* InfiniBand */
+	NVMF_RDMA_PRTYPE_ROCE		= 3, /* InfiniBand RoCE */
+	NVMF_RDMA_PRTYPE_ROCEV2		= 4, /* InfiniBand RoCEV2 */
+	NVMF_RDMA_PRTYPE_IWARP		= 5, /* IWARP */
 };
 
 /* RDMA Connection Management Service Type codes for Discovery Log Page
  * entry TSAS RDMA_CMS field
  */
 enum {
-	NVMF_RDMA_CMS_RDMA_CM	= 0, /* Sockets based enpoint addressing */
+	NVMF_RDMA_CMS_RDMA_CM	= 1, /* Sockets based endpoint addressing */
 };
 
 #define NVMF_AQ_DEPTH		32
--
Quoted 1 line

2.10.2

Thanks. I was preparing a to send a patch for this.
You might want to fix the comment above the NVMF_RDMA_PRTYPE_ enum, as it's just a copy of the one above it.
Reviewed-by: Steve Schremmer <steve.schremmer at netapp.com>