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