1libnvme(9)                        API Manual                        libnvme(9)
2
3
4

NAME

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

SYNOPSIS

9       struct nbft_ssns {
10           __u8 structure_id;
11           __le16 index;
12           __le16 flags;
13           __u8 trtype;
14           __le16 trflags;
15           __u8 primary_discovery_ctrl_index;
16           __u8 reserved1;
17           struct nbft_heap_obj subsys_traddr_obj;
18           struct nbft_heap_obj subsys_trsvcid_obj;
19           __le16 subsys_port_id;
20           __le32 nsid;
21           __u8 nidt;
22           __u8 nid[16];
23           __u8 security_desc_index;
24           __u8 primary_hfi_desc_index;
25           __u8 reserved2;
26           struct nbft_heap_obj secondary_hfi_assoc_obj;
27           struct nbft_heap_obj subsys_ns_nqn_obj;
28           struct nbft_heap_obj ssns_extended_info_desc_obj;
29           __u8 reserved3[62];
30        };
31
32

Members

34       structure_id
35                   Structure  ID:  This  field shall be set to 4h (i.e., SSNS;
36                   #NBFT_DESC_SSNS).
37
38       index       SSNS Descriptor Index: This field indicates the  number  of
39                   this  Subsystem Namespace Descriptor in the Subsystem Name‐
40                   space Descriptor List.
41
42       flags       SSNS Flags, see enum nbft_ssns_flags.
43
44       trtype      Transport Type, see enum nbft_trtype.
45
46       trflags     Transport Specific Flags, see enum nbft_ssns_trflags.
47
48       primary_discovery_ctrl_index
49                   Primary Discovery Controller Index: The Discovery  Descrip‐
50                   tor  Index  field  of  the Discovery Descriptor (see struct
51                   nbft_discovery) that is associated with this SSNS  Descrip‐
52                   tor.  If  a Discovery controller was used to establish this
53                   record this value shall be set to a non-zero value. If this
54                   namespace  was  associated  with  multiple  Discovery  con‐
55                   trollers, those Discovery controllers shall have records in
56                   the Discovery Descriptor to facilitate multi-path rediscov‐
57                   ery as required. If no Discovery controller was utilized to
58                   inform  this  namespace record, this field shall be cleared
59                   to 0h.
60
61       reserved1   Reserved.
62
63       subsys_traddr_obj
64                   Subsystem Transport Address  Heap  Object  Reference:  This
65                   field indicates the location and size of a heap object con‐
66                   taining the Subsystem  Transport  Address.   For  IP  based
67                   transports types, shall be an IP Address.
68
69       subsys_trsvcid_obj
70                   Subsystem  Transport  Service Identifier Heap Object Refer‐
71                   ence: This field indicates the location and size of a  heap
72                   object  containing an array of bytes indicating the Subsys‐
73                   tem Transport Service Identifier.  See enum nbft_trtype.
74
75       subsys_port_id
76                   Subsystem Port ID: Port in  the  NVM  subsystem  associated
77                   with this transport address used by the pre-OS driver.
78
79       nsid        Namespace ID: This field indicates the namespace identifier
80                   (NSID) of the namespace indicated by this descriptor.  This
81                   field  shall be cleared to 0h if not specified by the user.
82                   If this value is cleared to 0h, then consumers of the  NBFT
83                   shall rely on the NID.
84
85       nidt        Namespace  Identifier  Type (NIDT): This field contains the
86                   value of the Namespace Identifier Type (NIDT) field in  the
87                   Namespace Identification Descriptor for the namespace indi‐
88                   cated by this descriptor.  If a namespace supports multiple
89                   NIDT  entries  for  uniqueness,  the order of preference is
90                   NIDT field value of 3h (i.e., UUID) before  2h  (i.e.,  NS‐
91                   GUID), and 2h before 1h (i.e., EUI-64).
92
93       nid         Namespace  Identifier  (NID): This field contains the value
94                   of the Namespace Identifier (NID) field  in  the  Namespace
95                   Identification  Descriptor  for  the namespace indicated by
96                   this descriptor.
97
98       security_desc_index
99                   Security Profile Descriptor Index: If the Use Security Flag
100                   bit  in  the SSNS Flags field is set to 1h, then this field
101                   indicates the value of the Security Profile Descriptor  In‐
102                   dex  field  of  the Security Profile Descriptor (see struct
103                   nbft_security) associated with this namespace. If  the  Use
104                   Security  Flag  bit is cleared to 0h, then no Security Pro‐
105                   file Descriptor is associated with this namespace and  this
106                   field is reserved.
107
108       primary_hfi_desc_index
109                   Primary  HFI  Descriptor  Index:  This  field indicates the
110                   value of the HFI Descriptor Index field of the HFI Descrip‐
111                   tor (see struct nbft_hfi) for the interface associated with
112                   this namespace. If multiple HFIs are associated  with  this
113                   record,  subsequent  interfaces  should be populated in the
114                   Secondary HFI Associations field.
115
116       reserved2   Reserved.
117
118       secondary_hfi_assoc_obj
119                   Secondary HFI Associations Heap Object Reference:  If  this
120                   field is set to a non-zero value, then this field indicates
121                   an array of bytes, in which each byte contains the value of
122                   the  HFI Descriptor Index field of an HFI Descriptor in the
123                   HFI Descriptor List. If this field is cleared to  0h,  then
124                   no secondary HFI associations are specified.
125
126       subsys_ns_nqn_obj
127                   Subsystem  and  Namespace  NQN  Heap Object Reference: This
128                   field indicates the location and size of a heap object con‐
129                   taining the Subsystem and Namespace NQN.
130
131       ssns_extended_info_desc_obj
132                   SSNS Extended Information Descriptor Heap Object Reference:
133                   If the SSNS Extended Info In-use Flag bit  is  set  to  1h,
134                   then this field indicates the offset in bytes of a heap ob‐
135                   ject containing an  SSNS  Extended  Information  Descriptor
136                   (see  struct nbft_ssns_ext_info) heap object from byte off‐
137                   set 0h of the NBFT Table Header.  If the SSNS Extended Info
138                   In-use  Flag  bit  is cleared to 0h, then this field is re‐
139                   served.
140
141       reserved3   Reserved.
142
143
144
145October 2023                   struct nbft_ssns                     libnvme(9)
Impressum