1*14b24e2bSVaishali Kulkarni /*
2*14b24e2bSVaishali Kulkarni * CDDL HEADER START
3*14b24e2bSVaishali Kulkarni *
4*14b24e2bSVaishali Kulkarni * The contents of this file are subject to the terms of the
5*14b24e2bSVaishali Kulkarni * Common Development and Distribution License, v.1,  (the "License").
6*14b24e2bSVaishali Kulkarni * You may not use this file except in compliance with the License.
7*14b24e2bSVaishali Kulkarni *
8*14b24e2bSVaishali Kulkarni * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*14b24e2bSVaishali Kulkarni * or http://opensource.org/licenses/CDDL-1.0.
10*14b24e2bSVaishali Kulkarni * See the License for the specific language governing permissions
11*14b24e2bSVaishali Kulkarni * and limitations under the License.
12*14b24e2bSVaishali Kulkarni *
13*14b24e2bSVaishali Kulkarni * When distributing Covered Code, include this CDDL HEADER in each
14*14b24e2bSVaishali Kulkarni * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*14b24e2bSVaishali Kulkarni * If applicable, add the following below this CDDL HEADER, with the
16*14b24e2bSVaishali Kulkarni * fields enclosed by brackets "[]" replaced with your own identifying
17*14b24e2bSVaishali Kulkarni * information: Portions Copyright [yyyy] [name of copyright owner]
18*14b24e2bSVaishali Kulkarni *
19*14b24e2bSVaishali Kulkarni * CDDL HEADER END
20*14b24e2bSVaishali Kulkarni */
21*14b24e2bSVaishali Kulkarni 
22*14b24e2bSVaishali Kulkarni /*
23*14b24e2bSVaishali Kulkarni * Copyright 2014-2017 Cavium, Inc.
24*14b24e2bSVaishali Kulkarni * The contents of this file are subject to the terms of the Common Development
25*14b24e2bSVaishali Kulkarni * and Distribution License, v.1,  (the "License").
26*14b24e2bSVaishali Kulkarni 
27*14b24e2bSVaishali Kulkarni * You may not use this file except in compliance with the License.
28*14b24e2bSVaishali Kulkarni 
29*14b24e2bSVaishali Kulkarni * You can obtain a copy of the License at available
30*14b24e2bSVaishali Kulkarni * at http://opensource.org/licenses/CDDL-1.0
31*14b24e2bSVaishali Kulkarni 
32*14b24e2bSVaishali Kulkarni * See the License for the specific language governing permissions and
33*14b24e2bSVaishali Kulkarni * limitations under the License.
34*14b24e2bSVaishali Kulkarni */
35*14b24e2bSVaishali Kulkarni 
36*14b24e2bSVaishali Kulkarni /****************************************************************************
37*14b24e2bSVaishali Kulkarni  *
38*14b24e2bSVaishali Kulkarni  * Name:        nvm_iscsi_cfg.h
39*14b24e2bSVaishali Kulkarni  *
40*14b24e2bSVaishali Kulkarni  * Description: NVM config file for iSCSI configurations
41*14b24e2bSVaishali Kulkarni  *
42*14b24e2bSVaishali Kulkarni  * Created:     04/11/2016
43*14b24e2bSVaishali Kulkarni  *
44*14b24e2bSVaishali Kulkarni  * Version:     0.2
45*14b24e2bSVaishali Kulkarni  *
46*14b24e2bSVaishali Kulkarni  ****************************************************************************/
47*14b24e2bSVaishali Kulkarni 
48*14b24e2bSVaishali Kulkarni #ifndef NVM_ISCSI_CFG_H
49*14b24e2bSVaishali Kulkarni #define NVM_ISCSI_CFG_H
50*14b24e2bSVaishali Kulkarni 
51*14b24e2bSVaishali Kulkarni #define NUM_OF_ISCSI_TARGET_PER_PF    4   // Defined as per the ISCSI IBFT constraint
52*14b24e2bSVaishali Kulkarni #define NUM_OF_ISCSI_PF_SUPPORTED     4   // One PF per Port - assuming 4 port card
53*14b24e2bSVaishali Kulkarni 
54*14b24e2bSVaishali Kulkarni #define NVM_ISCSI_CFG_DHCP_NAME_MAX_LEN  256
55*14b24e2bSVaishali Kulkarni 
56*14b24e2bSVaishali Kulkarni union nvm_iscsi_dhcp_vendor_id
57*14b24e2bSVaishali Kulkarni {
58*14b24e2bSVaishali Kulkarni   u32 value[NVM_ISCSI_CFG_DHCP_NAME_MAX_LEN/4];
59*14b24e2bSVaishali Kulkarni   u8  byte[NVM_ISCSI_CFG_DHCP_NAME_MAX_LEN];
60*14b24e2bSVaishali Kulkarni };
61*14b24e2bSVaishali Kulkarni 
62*14b24e2bSVaishali Kulkarni #define NVM_ISCSI_IPV4_ADDR_BYTE_LEN 4
63*14b24e2bSVaishali Kulkarni union nvm_iscsi_ipv4_addr
64*14b24e2bSVaishali Kulkarni {
65*14b24e2bSVaishali Kulkarni   u32 addr;
66*14b24e2bSVaishali Kulkarni   u8  byte[NVM_ISCSI_IPV4_ADDR_BYTE_LEN];
67*14b24e2bSVaishali Kulkarni };
68*14b24e2bSVaishali Kulkarni 
69*14b24e2bSVaishali Kulkarni #define NVM_ISCSI_IPV6_ADDR_BYTE_LEN 16
70*14b24e2bSVaishali Kulkarni union nvm_iscsi_ipv6_addr
71*14b24e2bSVaishali Kulkarni {
72*14b24e2bSVaishali Kulkarni   u32 addr[4];
73*14b24e2bSVaishali Kulkarni   u8  byte[NVM_ISCSI_IPV6_ADDR_BYTE_LEN];
74*14b24e2bSVaishali Kulkarni };
75*14b24e2bSVaishali Kulkarni 
76*14b24e2bSVaishali Kulkarni struct nvm_iscsi_initiator_ipv4
77*14b24e2bSVaishali Kulkarni {
78*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv4_addr addr;                                             /* 0x0 */
79*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv4_addr subnet_mask;                                      /* 0x4 */
80*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv4_addr gateway;                                          /* 0x8 */
81*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv4_addr primary_dns;                                      /* 0xC */
82*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv4_addr secondary_dns;                                    /* 0x10 */
83*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv4_addr dhcp_addr;                                        /* 0x14 */
84*14b24e2bSVaishali Kulkarni 
85*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv4_addr isns_server;                                      /* 0x18 */
86*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv4_addr slp_server;                                       /* 0x1C */
87*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv4_addr primay_radius_server;                             /* 0x20 */
88*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv4_addr secondary_radius_server;                          /* 0x24 */
89*14b24e2bSVaishali Kulkarni 
90*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv4_addr rsvd[4];                                          /* 0x28 */
91*14b24e2bSVaishali Kulkarni };
92*14b24e2bSVaishali Kulkarni 
93*14b24e2bSVaishali Kulkarni struct nvm_iscsi_initiator_ipv6
94*14b24e2bSVaishali Kulkarni {
95*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv6_addr addr;                                             /* 0x0 */
96*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv6_addr subnet_mask;                                      /* 0x10 */
97*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv6_addr gateway;                                          /* 0x20 */
98*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv6_addr primary_dns;                                      /* 0x30 */
99*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv6_addr secondary_dns;                                    /* 0x40 */
100*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv6_addr dhcp_addr;                                        /* 0x50 */
101*14b24e2bSVaishali Kulkarni 
102*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv6_addr isns_server;                                      /* 0x60 */
103*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv6_addr slp_server;                                       /* 0x70 */
104*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv6_addr primay_radius_server;                             /* 0x80 */
105*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv6_addr secondary_radius_server;                          /* 0x90 */
106*14b24e2bSVaishali Kulkarni 
107*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv6_addr rsvd[3];                                          /* 0xA0 */
108*14b24e2bSVaishali Kulkarni 
109*14b24e2bSVaishali Kulkarni   u32   config;                                                               /* 0xD0 */
110*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_INITIATOR_IPV6_SUBNET_MASK_PREFIX_MASK      0x000000FF
111*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_INITIATOR_IPV6_SUBNET_MASK_PREFIX_OFFSET    0
112*14b24e2bSVaishali Kulkarni 
113*14b24e2bSVaishali Kulkarni   u32   rsvd_1[3];                                                            /* 0xD4 */
114*14b24e2bSVaishali Kulkarni };
115*14b24e2bSVaishali Kulkarni 
116*14b24e2bSVaishali Kulkarni 
117*14b24e2bSVaishali Kulkarni #define NVM_ISCSI_CFG_ISCSI_NAME_MAX_LEN  223
118*14b24e2bSVaishali Kulkarni #define NVM_ISCSI_CFG_ISCSI_NAME_MAX_PLUS_RESERVED   256 // NVM_ISCSI_CFG_ISCSI_NAME_MAX_LEN + RESERVED for backward compatibility
119*14b24e2bSVaishali Kulkarni 
120*14b24e2bSVaishali Kulkarni union nvm_iscsi_name
121*14b24e2bSVaishali Kulkarni {
122*14b24e2bSVaishali Kulkarni   u32 value[NVM_ISCSI_CFG_ISCSI_NAME_MAX_PLUS_RESERVED/4];
123*14b24e2bSVaishali Kulkarni   u8  byte[NVM_ISCSI_CFG_ISCSI_NAME_MAX_PLUS_RESERVED];
124*14b24e2bSVaishali Kulkarni };
125*14b24e2bSVaishali Kulkarni 
126*14b24e2bSVaishali Kulkarni #define NVM_ISCSI_CFG_CHAP_NAME_MAX_LEN   256
127*14b24e2bSVaishali Kulkarni 
128*14b24e2bSVaishali Kulkarni union nvm_iscsi_chap_name
129*14b24e2bSVaishali Kulkarni {
130*14b24e2bSVaishali Kulkarni   u32 value[NVM_ISCSI_CFG_CHAP_NAME_MAX_LEN/4];
131*14b24e2bSVaishali Kulkarni   u8  byte[NVM_ISCSI_CFG_CHAP_NAME_MAX_LEN];
132*14b24e2bSVaishali Kulkarni };
133*14b24e2bSVaishali Kulkarni 
134*14b24e2bSVaishali Kulkarni #define NVM_ISCSI_CFG_CHAP_PWD_MAX_LEN  				16
135*14b24e2bSVaishali Kulkarni // md5 need per RFC1996 is 16 octets
136*14b24e2bSVaishali Kulkarni union nvm_iscsi_chap_password
137*14b24e2bSVaishali Kulkarni {
138*14b24e2bSVaishali Kulkarni   u32 value[NVM_ISCSI_CFG_CHAP_PWD_MAX_LEN/4];
139*14b24e2bSVaishali Kulkarni   u8 byte[NVM_ISCSI_CFG_CHAP_PWD_MAX_LEN];
140*14b24e2bSVaishali Kulkarni };
141*14b24e2bSVaishali Kulkarni 
142*14b24e2bSVaishali Kulkarni union nvm_iscsi_lun
143*14b24e2bSVaishali Kulkarni {
144*14b24e2bSVaishali Kulkarni   u8  byte[8];
145*14b24e2bSVaishali Kulkarni   u32 value[2];
146*14b24e2bSVaishali Kulkarni };
147*14b24e2bSVaishali Kulkarni 
148*14b24e2bSVaishali Kulkarni 
149*14b24e2bSVaishali Kulkarni struct nvm_iscsi_generic
150*14b24e2bSVaishali Kulkarni {
151*14b24e2bSVaishali Kulkarni   u32 ctrl_flags;                                                             /* 0x0 */
152*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_GEN_CHAP_ENABLED                 (1 << 0)
153*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_GEN_DHCP_TCPIP_CONFIG_ENABLED    (1 << 1)
154*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_GEN_DHCP_ISCSI_CONFIG_ENABLED    (1 << 2)
155*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_GEN_IPV6_ENABLED                 (1 << 3)
156*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_GEN_IPV4_FALLBACK_ENABLED        (1 << 4)             // currently not supported
157*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_GEN_ISNS_WORLD_LOGIN             (1 << 5)
158*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_GEN_ISNS_SELECTIVE_LOGIN         (1 << 6)
159*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_GEN_ADDR_REDIRECT_ENABLED        (1 << 7)
160*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_GEN_CHAP_MUTUAL_ENABLED          (1 << 8)
161*14b24e2bSVaishali Kulkarni 
162*14b24e2bSVaishali Kulkarni   u32 timeout;                                                                /* 0x4 */
163*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_GEN_DHCP_REQUEST_TIMEOUT_MASK       0x0000FFFF
164*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_GEN_DHCP_REQUEST_TIMEOUT_OFFSET     0
165*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_GEN_PORT_LOGIN_TIMEOUT_MASK         0xFFFF0000
166*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_GEN_PORT_LOGIN_TIMEOUT_OFFSET       16
167*14b24e2bSVaishali Kulkarni 
168*14b24e2bSVaishali Kulkarni   union nvm_iscsi_dhcp_vendor_id  dhcp_vendor_id;                            /* 0x8  */
169*14b24e2bSVaishali Kulkarni   u32 rsvd[62];                                                              /* 0x108 */
170*14b24e2bSVaishali Kulkarni };
171*14b24e2bSVaishali Kulkarni 
172*14b24e2bSVaishali Kulkarni struct nvm_iscsi_initiator
173*14b24e2bSVaishali Kulkarni {
174*14b24e2bSVaishali Kulkarni   struct nvm_iscsi_initiator_ipv4 ipv4;                                       /* 0x0 */
175*14b24e2bSVaishali Kulkarni   struct nvm_iscsi_initiator_ipv6 ipv6;                                       /* 0x38 */
176*14b24e2bSVaishali Kulkarni 
177*14b24e2bSVaishali Kulkarni   union nvm_iscsi_name           initiator_name;                              /* 0x118 */
178*14b24e2bSVaishali Kulkarni   union nvm_iscsi_chap_name      chap_name;                                   /* 0x218 */
179*14b24e2bSVaishali Kulkarni   union nvm_iscsi_chap_password  chap_password;                               /* 0x318 */
180*14b24e2bSVaishali Kulkarni 
181*14b24e2bSVaishali Kulkarni   u32 generic_cont0;                                                          /* 0x328 */
182*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_INITIATOR_VLAN_MASK                  0x0000FFFF
183*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_INITIATOR_VLAN_OFFSET                0
184*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_INITIATOR_RESERVED                   0x00030000
185*14b24e2bSVaishali Kulkarni 
186*14b24e2bSVaishali Kulkarni   u32 ctrl_flags;
187*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_INITIATOR_IP_VERSION_PRIORITY_V6     (1 << 0)
188*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_INITIATOR_VLAN_ENABLED               (1 << 1)
189*14b24e2bSVaishali Kulkarni 
190*14b24e2bSVaishali Kulkarni   u32 ip_ver;
191*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_INITIATOR_IP_MASK			                0x00000007
192*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_INITIATOR_IP_OFFSET			              0
193*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_INITIATOR_IPV4			                  1
194*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_INITIATOR_IPV6			                  2
195*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_INITIATOR_IPV4_IPV6			              4
196*14b24e2bSVaishali Kulkarni 
197*14b24e2bSVaishali Kulkarni   u32 rsvd[115];                                                              /* 0x32C */
198*14b24e2bSVaishali Kulkarni };
199*14b24e2bSVaishali Kulkarni 
200*14b24e2bSVaishali Kulkarni 
201*14b24e2bSVaishali Kulkarni struct nvm_iscsi_target
202*14b24e2bSVaishali Kulkarni {
203*14b24e2bSVaishali Kulkarni   u32 ctrl_flags;                                                             /* 0x0 */
204*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_TARGET_ENABLED            (1 << 0)
205*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_BOOT_TIME_LOGIN_STATUS    (1 << 1)
206*14b24e2bSVaishali Kulkarni 
207*14b24e2bSVaishali Kulkarni   u32 generic_cont0;                                                          /* 0x4 */
208*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_TARGET_TCP_PORT_MASK      0x0000FFFF
209*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_TARGET_TCP_PORT_OFFSET    0
210*14b24e2bSVaishali Kulkarni 
211*14b24e2bSVaishali Kulkarni   u32 ip_ver;
212*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_TARGET_IP_MASK			      0x00000007
213*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_TARGET_IP_OFFSET			    0
214*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_TARGET_IPV4			 	        NVM_ISCSI_CFG_INITIATOR_IPV4
215*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_TARGET_IPV6				        NVM_ISCSI_CFG_INITIATOR_IPV6
216*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_TARGET_IPV4_IPV6			    NVM_ISCSI_CFG_INITIATOR_IPV4_IPV6   // currently not supported
217*14b24e2bSVaishali Kulkarni 
218*14b24e2bSVaishali Kulkarni   u32 rsvd_1[7];                                                              /* 0x24 */
219*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv4_addr ipv4_addr;                                       /* 0x28 */
220*14b24e2bSVaishali Kulkarni   union nvm_iscsi_ipv6_addr ipv6_addr;                                       /* 0x2C */
221*14b24e2bSVaishali Kulkarni   union nvm_iscsi_lun lun;                                                   /* 0x3C */
222*14b24e2bSVaishali Kulkarni 
223*14b24e2bSVaishali Kulkarni   union nvm_iscsi_name           target_name;                                /* 0x44 */
224*14b24e2bSVaishali Kulkarni   union nvm_iscsi_chap_name      chap_name;                                  /* 0x144 */
225*14b24e2bSVaishali Kulkarni   union nvm_iscsi_chap_password  chap_password;                              /* 0x244 */
226*14b24e2bSVaishali Kulkarni 
227*14b24e2bSVaishali Kulkarni   u32 rsvd_2[107];                                                           /* 0x254 */
228*14b24e2bSVaishali Kulkarni };
229*14b24e2bSVaishali Kulkarni 
230*14b24e2bSVaishali Kulkarni struct nvm_iscsi_block
231*14b24e2bSVaishali Kulkarni {
232*14b24e2bSVaishali Kulkarni   u32 id;                                                                     /* 0x0 */
233*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_BLK_MAPPED_PF_ID_MASK         0x0000000F
234*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_BLK_MAPPED_PF_ID_OFFSET       0
235*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_BLK_CTRL_FLAG_MASK            0x00000FF0
236*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_BLK_CTRL_FLAG_OFFSET          4
237*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_BLK_CTRL_FLAG_IS_NOT_EMPTY            (1 << 0)
238*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_BLK_CTRL_FLAG_PF_MAPPED               (1 << 1)
239*14b24e2bSVaishali Kulkarni 
240*14b24e2bSVaishali Kulkarni   u32 rsvd_1[5];                                                              /* 0x4 */
241*14b24e2bSVaishali Kulkarni 
242*14b24e2bSVaishali Kulkarni   struct nvm_iscsi_generic     generic;                                       /* 0x18 */
243*14b24e2bSVaishali Kulkarni   struct nvm_iscsi_initiator   initiator;                                     /* 0x218 */
244*14b24e2bSVaishali Kulkarni   struct nvm_iscsi_target      target[NUM_OF_ISCSI_TARGET_PER_PF];            /* 0x718 */
245*14b24e2bSVaishali Kulkarni 
246*14b24e2bSVaishali Kulkarni   u32 rsvd_2[58];                                                             /* 0x1718 */
247*14b24e2bSVaishali Kulkarni   /* total size - 0x1800 - 6K block */
248*14b24e2bSVaishali Kulkarni };
249*14b24e2bSVaishali Kulkarni 
250*14b24e2bSVaishali Kulkarni struct nvm_iscsi_cfg
251*14b24e2bSVaishali Kulkarni {
252*14b24e2bSVaishali Kulkarni   u32 id;                                                                      /* 0x0 */
253*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_BLK_VERSION_MINOR_MASK     0x000000FF
254*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_BLK_VERSION_MAJOR_MASK     0x0000FF00
255*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_BLK_SIGNATURE_MASK         0xFFFF0000
256*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_BLK_SIGNATURE              0x49430000    // IC - Iscsi Config
257*14b24e2bSVaishali Kulkarni 
258*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_BLK_VERSION_MAJOR          0
259*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_BLK_VERSION_MINOR          11
260*14b24e2bSVaishali Kulkarni   #define NVM_ISCSI_CFG_BLK_VERSION                (NVM_ISCSI_CFG_BLK_VERSION_MAJOR << 8) | NVM_ISCSI_CFG_BLK_VERSION_MINOR;
261*14b24e2bSVaishali Kulkarni 
262*14b24e2bSVaishali Kulkarni   struct nvm_iscsi_block    block[NUM_OF_ISCSI_PF_SUPPORTED];               /* 0x4 */
263*14b24e2bSVaishali Kulkarni };
264*14b24e2bSVaishali Kulkarni 
265*14b24e2bSVaishali Kulkarni #endif
266*14b24e2bSVaishali Kulkarni 
267*14b24e2bSVaishali Kulkarni 
268