struct nbft_discovery - Discovery Descriptor (Figure 24)
struct nbft_discovery {
__u8 structure_id;
__u8 flags;
__u8 index;
__u8 hfi_index;
__u8 sec_index;
__u8 reserved1;
struct nbft_heap_obj discovery_ctrl_addr_obj;
struct nbft_heap_obj discovery_ctrl_nqn_obj;
__u8 reserved2[14];
};
- structure_id
- Structure ID: This field shall be set to 6h (i.e., Discovery Descriptor;
#NBFT_DESC_DISCOVERY).
- flags
- Discovery Descriptor Flags, see enum nbft_discovery_flags.
- index
- Discovery Descriptor Index: This field indicates the number of this
Discovery Descriptor in the Discovery Descriptor List.
- hfi_index
- HFI Descriptor Index: This field indicates the value of the HFI Descriptor
Index field of the HFI Descriptor associated with this Discovery
Descriptor. If multiple HFIs share a common Discovery controller, there
shall be multiple Discovery Descriptor entries with one per HFI.
- sec_index
- Security Profile Descriptor Index: This field indicates the value of the
Security Profile Descriptor Index field of the Security Descriptor
associated with this Discovery Descriptor.
- reserved1
- Reserved.
- discovery_ctrl_addr_obj
- Discovery Controller Address Heap Object Reference: This field indicates
the location and size of a heap object containing a URI which indicates an
NVMe Discovery controller associated with this Discovery Descriptor. If
this field is cleared to 0h, then no URI is specified.
- discovery_ctrl_nqn_obj
- Discovery Controller NQN Heap Object Reference: If set to a non-zero
value, this field indicates the location and size of a heap object
containing an NVMe Discovery controller NQN. If the NVMe Discovery
controller referenced by this record requires secure authentication with a
well known Subsystem NQN, this field indicates the unique NQN for that
NVMe Discovery controller. This record is involved formatted as an NQN
string. If this field is cleared to 0h, then this field is reserved and
the OS shall use the well known discovery NQN for this record.
- reserved2
- Reserved.