1libnvme(9) API Manual libnvme(9)
2
3
4
6 struct nbft_control - NBFT Table - Control Descriptor (Figure 8)
7
9 struct nbft_control {
10 __u8 structure_id;
11 __u8 major_revision;
12 __u8 minor_revision;
13 __u8 reserved1;
14 __le16 csl;
15 __u8 flags;
16 __u8 reserved2;
17 struct nbft_heap_obj hdesc;
18 __u8 hsv;
19 __u8 reserved3;
20 __le32 hfio;
21 __le16 hfil;
22 __u8 hfiv;
23 __u8 num_hfi;
24 __le32 ssnso;
25 __le16 ssnsl;
26 __u8 ssnsv;
27 __u8 num_ssns;
28 __le32 seco;
29 __le16 secl;
30 __u8 secv;
31 __u8 num_sec;
32 __le32 disco;
33 __le16 discl;
34 __u8 discv;
35 __u8 num_disc;
36 __u8 reserved4[16];
37 };
38
39
41 structure_id
42 Structure ID: This field specifies the element (refer to
43 enum nbft_desc_type). This field shall be set to 1h (i.e.,
44 Control, #NBFT_DESC_CONTROL).
45
46 major_revision
47 Major Revision: The major revision of the structure corre‐
48 sponding to the Signature field. Larger major revision num‐
49 bers should not be assumed backward compatible to lower ma‐
50 jor revision numbers with the same signature.
51
52 minor_revision
53 Minor Revision: The minor revision of the structure corre‐
54 sponding to the signature field. If the major revision num‐
55 bers are the same, any minor revision number differences
56 shall be backwards compatible with the same signature.
57
58 reserved1 Reserved.
59
60 csl Control Structure Length (CSL): This field indicates the
61 length in bytes of the Control Descriptor.
62
63 flags Flags, see enum nbft_control_flags.
64
65 reserved2 Reserved.
66
67 hdesc Host Descriptor (HDESC): This field indicates the location
68 and length of the Host Descriptor (see struct nbft_host).
69
70 hsv Host Descriptor Version (HSV): This field indicates the
71 version of the Host Descriptor.
72
73 reserved3 Reserved.
74
75 hfio HFI Descriptor List Offset (HFIO): If this field is set to
76 a non-zero value, then this field indicates the offset in
77 bytes of the HFI Descriptor List, if any, from byte offset
78 0h of the NBFT Table Header. If the num_hfi field is
79 cleared to 0h, then this field is reserved.
80
81 hfil HFI Descriptor Length (HFIL): This field indicates the
82 length in bytes of each HFI Descriptor, if any. If the
83 num_hfi field is cleared to 0h, then this field is re‐
84 served.
85
86 hfiv HFI Descriptor Version (HFIV): This field indicates the
87 version of each HFI Descriptor.
88
89 num_hfi Number of Host Fabric Interface Descriptors (NumHFI): This
90 field indicates the number of HFI Descriptors (see struct
91 nbft_hfi) in the HFI Descriptor List, if any. If no inter‐
92 faces have been configured, then this field shall be
93 cleared to 0h.
94
95 ssnso SSNS Descriptor List Offset (SSNSO):: This field indicates
96 the offset in bytes of the SSNS Descriptor List, if any,
97 from byte offset 0h of the NBFT Table Header. If the
98 num_ssns field is cleared to 0h, then this field is re‐
99 served.
100
101 ssnsl SSNS Descriptor Length (SSNSL): This field indicates the
102 length in bytes of each SSNS Descriptor, if any. If the
103 num_ssns field is cleared to 0h, then this field is re‐
104 served.
105
106 ssnsv SSNS Descriptor Version (SSNSV): This field indicates the
107 version of the SSNS Descriptor.
108
109 num_ssns Number of Subsystem and Namespace Descriptors (NumSSNS):
110 This field indicates the number of Subsystem Namespace
111 (SSNS) Descriptors (see struct nbft_ssns) in the SSNS De‐
112 scriptor List, if any.
113
114 seco Security Profile Descriptor List Offset (SECO): This field
115 indicates the offset in bytes of the Security Profile De‐
116 scriptor List, if any, from byte offset 0h of the NBFT Ta‐
117 ble Header. If the num_sec field is cleared to 0h, then
118 this field is reserved.
119
120 secl Security Profile Descriptor Length (SECL): This field indi‐
121 cates the length in bytes of each Security Profile Descrip‐
122 tor, if any. If the num_sec field is cleared to 0h, then
123 this field is reserved.
124
125 secv Security Profile Descriptor Version (SECV): This field in‐
126 dicates the version of the Security Profile Descriptor.
127
128 num_sec Number of Security Profile Descriptors (NumSec): This field
129 indicates the number of Security Profile Descriptors (see
130 struct nbft_security), if any, in the Security Profile De‐
131 scriptor List.
132
133 disco Discovery Descriptor Offset (DISCO): This field indicates
134 the offset in bytes of the Discovery Descriptor List, if
135 any, from byte offset 0h of the NBFT Table Header. If the
136 num_disc field is cleared to 0h, then this field is re‐
137 served.
138
139 discl Discovery Descriptor Length (DISCL): This field indicates
140 the length in bytes of each Discovery Descriptor, if any.
141 If the num_disc field is cleared to 0h, then this field is
142 reserved.
143
144 discv Discovery Descriptor Version (DISCV): This field indicates
145 the version of the Discovery Descriptor.
146
147 num_disc Number of Discovery Descriptors (NumDisc): This field indi‐
148 cates the number of Discovery Descriptors (see struct
149 nbft_discovery), if any, in the Discovery Descriptor List,
150 if any.
151
152 reserved4 Reserved.
153
154
155
156October 2023 struct nbft_control libnvme(9)