Provided by: libnvme-dev_1.8-3ubuntu1_amd64 bug

NAME

       struct nbft_ssns - Subsystem Namespace (SSNS) Descriptor (Figure 15)

SYNOPSIS

       struct nbft_ssns {
           __u8 structure_id;
           __le16 index;
           __le16 flags;
           __u8 trtype;
           __le16 trflags;
           __u8 primary_discovery_ctrl_index;
           __u8 reserved1;
           struct nbft_heap_obj subsys_traddr_obj;
           struct nbft_heap_obj subsys_trsvcid_obj;
           __le16 subsys_port_id;
           __le32 nsid;
           __u8 nidt;
           __u8 nid[16];
           __u8 security_desc_index;
           __u8 primary_hfi_desc_index;
           __u8 reserved2;
           struct nbft_heap_obj secondary_hfi_assoc_obj;
           struct nbft_heap_obj subsys_ns_nqn_obj;
           struct nbft_heap_obj ssns_extended_info_desc_obj;
           __u8 reserved3[62];
        };

Members

       structure_id
                   Structure ID: This field shall be set to 4h (i.e., SSNS; #NBFT_DESC_SSNS).

       index       SSNS Descriptor Index: This field indicates the number of this Subsystem Namespace Descriptor
                   in the Subsystem Namespace Descriptor List.

       flags       SSNS Flags, see enum nbft_ssns_flags.

       trtype      Transport Type, see enum nbft_trtype.

       trflags     Transport Specific Flags, see enum nbft_ssns_trflags.

       primary_discovery_ctrl_index
                   Primary  Discovery  Controller  Index:  The Discovery Descriptor Index field of the Discovery
                   Descriptor (see struct nbft_discovery) that is associated with this  SSNS  Descriptor.  If  a
                   Discovery  controller was used to establish this record this value shall be set to a non-zero
                   value. If this namespace was associated with multiple Discovery controllers, those  Discovery
                   controllers  shall  have  records  in  the  Discovery  Descriptor  to  facilitate  multi-path
                   rediscovery as required. If no Discovery controller was utilized  to  inform  this  namespace
                   record, this field shall be cleared to 0h.

       reserved1   Reserved.

       subsys_traddr_obj
                   Subsystem Transport Address Heap Object Reference: This field indicates the location and size
                   of  a heap object containing the Subsystem Transport Address.  For IP based transports types,
                   shall be an IP Address.

       subsys_trsvcid_obj
                   Subsystem Transport Service Identifier  Heap  Object  Reference:  This  field  indicates  the
                   location  and  size  of  a  heap object containing an array of bytes indicating the Subsystem
                   Transport Service Identifier.  See enum nbft_trtype.

       subsys_port_id
                   Subsystem Port ID: Port in the NVM subsystem associated with this transport address  used  by
                   the pre-OS driver.

       nsid        Namespace ID: This field indicates the namespace identifier (NSID) of the namespace indicated
                   by  this  descriptor. This field shall be cleared to 0h if not specified by the user. If this
                   value is cleared to 0h, then consumers of the NBFT shall rely on the NID.

       nidt        Namespace Identifier Type (NIDT): This field contains the value of the  Namespace  Identifier
                   Type  (NIDT)  field in the Namespace Identification Descriptor for the namespace indicated by
                   this descriptor.  If a namespace supports multiple NIDT entries for uniqueness, the order  of
                   preference  is NIDT field value of 3h (i.e., UUID) before 2h (i.e., NSGUID), and 2h before 1h
                   (i.e., EUI-64).

       nid         Namespace Identifier (NID): This field contains the value of the Namespace  Identifier  (NID)
                   field  in  the  Namespace  Identification  Descriptor  for  the  namespace  indicated by this
                   descriptor.

       security_desc_index
                   Security Profile Descriptor Index: If the Use Security Flag bit in the SSNS  Flags  field  is
                   set to 1h, then this field indicates the value of the Security Profile Descriptor Index field
                   of the Security Profile Descriptor (see struct nbft_security) associated with this namespace.
                   If  the  Use  Security  Flag  bit  is  cleared  to 0h, then no Security Profile Descriptor is
                   associated with this namespace and this field is reserved.

       primary_hfi_desc_index
                   Primary HFI Descriptor Index: This field indicates the value  of  the  HFI  Descriptor  Index
                   field  of  the  HFI  Descriptor  (see struct nbft_hfi) for the interface associated with this
                   namespace. If multiple HFIs are associated with this record, subsequent interfaces should  be
                   populated in the Secondary HFI Associations field.

       reserved2   Reserved.

       secondary_hfi_assoc_obj
                   Secondary  HFI  Associations Heap Object Reference: If this field is set to a non-zero value,
                   then this field indicates an array of bytes, in which each byte contains the value of the HFI
                   Descriptor Index field of an HFI Descriptor in the HFI Descriptor  List.  If  this  field  is
                   cleared to 0h, then no secondary HFI associations are specified.

       subsys_ns_nqn_obj
                   Subsystem and Namespace NQN Heap Object Reference: This field indicates the location and size
                   of a heap object containing the Subsystem and Namespace NQN.

       ssns_extended_info_desc_obj
                   SSNS  Extended Information Descriptor Heap Object Reference: If the SSNS Extended Info In-use
                   Flag bit is set to 1h, then this field indicates  the  offset  in  bytes  of  a  heap  object
                   containing  an  SSNS  Extended  Information  Descriptor  (see struct nbft_ssns_ext_info) heap
                   object from byte offset 0h of the NBFT Table Header.  If the SSNS Extended Info  In-use  Flag
                   bit is cleared to 0h, then this field is reserved.

       reserved3   Reserved.

February 2025                                   struct nbft_ssns                                      libnvme(2)