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

NAME

6       struct nbft_control - NBFT Table - Control Descriptor (Figure 8)
7

SYNOPSIS

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

Members

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)
Impressum