nvme: add new discovery log page entry definitions
authorHannes Reinecke <hare@suse.de>
Mon, 18 Oct 2021 15:21:37 +0000 (17:21 +0200)
committerChristoph Hellwig <hch@lst.de>
Wed, 27 Oct 2021 06:03:19 +0000 (08:03 +0200)
TP8014 adds a new SUBTYPE value and a new field EFLAGS for the
discovery log page entry.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
include/linux/nvme.h

index 357482dedb59932e78456061ec4916614daecc9f..855dd9b3e84be76dc0f87c2ef614136ad594be96 100644 (file)
 #define NVME_NSID_ALL          0xffffffff
 
 enum nvme_subsys_type {
-       NVME_NQN_DISC   = 1,            /* Discovery type target subsystem */
-       NVME_NQN_NVME   = 2,            /* NVME type target subsystem */
+       /* Referral to another discovery type target subsystem */
+       NVME_NQN_DISC   = 1,
+
+       /* NVME type target subsystem */
+       NVME_NQN_NVME   = 2,
+
+       /* Current discovery type target subsystem */
+       NVME_NQN_CURR   = 3,
 };
 
 enum nvme_ctrl_type {
@@ -1312,6 +1318,12 @@ struct nvmf_common_command {
 
 #define MAX_DISC_LOGS  255
 
+/* Discovery log page entry flags (EFLAGS): */
+enum {
+       NVME_DISC_EFLAGS_EPCSD          = (1 << 1),
+       NVME_DISC_EFLAGS_DUPRETINFO     = (1 << 0),
+};
+
 /* Discovery log page entry */
 struct nvmf_disc_rsp_page_entry {
        __u8            trtype;
@@ -1321,7 +1333,8 @@ struct nvmf_disc_rsp_page_entry {
        __le16          portid;
        __le16          cntlid;
        __le16          asqsz;
-       __u8            resv8[22];
+       __le16          eflags;
+       __u8            resv10[20];
        char            trsvcid[NVMF_TRSVCID_SIZE];
        __u8            resv64[192];
        char            subnqn[NVMF_NQN_FIELD_LEN];