aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorVikas Chaudhary <vikas.chaudhary@qlogic.com>2011-07-25 14:48:39 -0400
committerJames Bottomley <JBottomley@Parallels.com>2011-08-27 10:35:59 -0400
commit2bab08fc770ccd6c56859371356a4a905e8c0bd4 (patch)
tree03f6f260135452ac8d94e416478d0b8f8e140e36 /drivers
parentd00efe3fa87fdf1df3635ba57ef3f14d03bc3ac8 (diff)
[SCSI] qla4xxx: Added new "struct ipaddress_config"
- Move all ipaddress related param to "struct ipaddress_config" from "struct scsi_qla_host" - update function - qla4xxx_update_local_ip() - Rename IPOPT_IPv4_PROTOCOL_ENABLE to IPOPT_IPV4_PROTOCOL_ENABLE Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> [update for new ISCSI_IFACE values] Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/scsi/qla4xxx/ql4_def.h48
-rw-r--r--drivers/scsi/qla4xxx/ql4_fw.h2
-rw-r--r--drivers/scsi/qla4xxx/ql4_init.c53
-rw-r--r--drivers/scsi/qla4xxx/ql4_mbx.c81
-rw-r--r--drivers/scsi/qla4xxx/ql4_os.c8
5 files changed, 108 insertions, 84 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_def.h b/drivers/scsi/qla4xxx/ql4_def.h
index 473c5c872b39..015d0a18bf8a 100644
--- a/drivers/scsi/qla4xxx/ql4_def.h
+++ b/drivers/scsi/qla4xxx/ql4_def.h
@@ -357,6 +357,28 @@ struct isp_operations {
357 int (*get_sys_info) (struct scsi_qla_host *); 357 int (*get_sys_info) (struct scsi_qla_host *);
358}; 358};
359 359
360/*qla4xxx ipaddress configuration details */
361struct ipaddress_config {
362 uint16_t ipv4_options;
363 uint16_t tcp_options;
364 uint16_t ipv4_vlan_tag;
365 uint8_t ipv4_addr_state;
366 uint8_t ip_address[IP_ADDR_LEN];
367 uint8_t subnet_mask[IP_ADDR_LEN];
368 uint8_t gateway[IP_ADDR_LEN];
369 uint32_t ipv6_options;
370 uint32_t ipv6_addl_options;
371 uint8_t ipv6_link_local_state;
372 uint8_t ipv6_addr0_state;
373 uint8_t ipv6_addr1_state;
374 uint8_t ipv6_default_router_state;
375 uint16_t ipv6_vlan_tag;
376 struct in6_addr ipv6_link_local_addr;
377 struct in6_addr ipv6_addr0;
378 struct in6_addr ipv6_addr1;
379 struct in6_addr ipv6_default_router_addr;
380};
381
360/* 382/*
361 * Linux Host Adapter structure 383 * Linux Host Adapter structure
362 */ 384 */
@@ -451,10 +473,6 @@ struct scsi_qla_host {
451 /* --- From Init_FW --- */ 473 /* --- From Init_FW --- */
452 /* init_cb_t *init_cb; */ 474 /* init_cb_t *init_cb; */
453 uint16_t firmware_options; 475 uint16_t firmware_options;
454 uint16_t tcp_options;
455 uint8_t ip_address[IP_ADDR_LEN];
456 uint8_t subnet_mask[IP_ADDR_LEN];
457 uint8_t gateway[IP_ADDR_LEN];
458 uint8_t alias[32]; 476 uint8_t alias[32];
459 uint8_t name_string[256]; 477 uint8_t name_string[256];
460 uint8_t heartbeat_interval; 478 uint8_t heartbeat_interval;
@@ -533,22 +551,7 @@ struct scsi_qla_host {
533 /* Saved srb for status continuation entry processing */ 551 /* Saved srb for status continuation entry processing */
534 struct srb *status_srb; 552 struct srb *status_srb;
535 553
536 /* IPv6 support info from InitFW */
537 uint8_t acb_version; 554 uint8_t acb_version;
538 uint8_t ipv4_addr_state;
539 uint16_t ipv4_options;
540
541 uint32_t resvd2;
542 uint32_t ipv6_options;
543 uint32_t ipv6_addl_options;
544 uint8_t ipv6_link_local_state;
545 uint8_t ipv6_addr0_state;
546 uint8_t ipv6_addr1_state;
547 uint8_t ipv6_default_router_state;
548 struct in6_addr ipv6_link_local_addr;
549 struct in6_addr ipv6_addr0;
550 struct in6_addr ipv6_addr1;
551 struct in6_addr ipv6_default_router_addr;
552 555
553 /* qla82xx specific fields */ 556 /* qla82xx specific fields */
554 struct device_reg_82xx __iomem *qla4_8xxx_reg; /* Base I/O address */ 557 struct device_reg_82xx __iomem *qla4_8xxx_reg; /* Base I/O address */
@@ -584,6 +587,8 @@ struct scsi_qla_host {
584 587
585 struct completion mbx_intr_comp; 588 struct completion mbx_intr_comp;
586 589
590 struct ipaddress_config ip_config;
591
587 /* --- From About Firmware --- */ 592 /* --- From About Firmware --- */
588 uint16_t iscsi_major; 593 uint16_t iscsi_major;
589 uint16_t iscsi_minor; 594 uint16_t iscsi_minor;
@@ -595,12 +600,13 @@ struct scsi_qla_host {
595 600
596static inline int is_ipv4_enabled(struct scsi_qla_host *ha) 601static inline int is_ipv4_enabled(struct scsi_qla_host *ha)
597{ 602{
598 return ((ha->ipv4_options & IPOPT_IPv4_PROTOCOL_ENABLE) != 0); 603 return ((ha->ip_config.ipv4_options & IPOPT_IPV4_PROTOCOL_ENABLE) != 0);
599} 604}
600 605
601static inline int is_ipv6_enabled(struct scsi_qla_host *ha) 606static inline int is_ipv6_enabled(struct scsi_qla_host *ha)
602{ 607{
603 return ((ha->ipv6_options & IPV6_OPT_IPV6_PROTOCOL_ENABLE) != 0); 608 return ((ha->ip_config.ipv6_options &
609 IPV6_OPT_IPV6_PROTOCOL_ENABLE) != 0);
604} 610}
605 611
606static inline int is_qla4010(struct scsi_qla_host *ha) 612static inline int is_qla4010(struct scsi_qla_host *ha)
diff --git a/drivers/scsi/qla4xxx/ql4_fw.h b/drivers/scsi/qla4xxx/ql4_fw.h
index 21aa1dbaf2c3..8ffdd347978e 100644
--- a/drivers/scsi/qla4xxx/ql4_fw.h
+++ b/drivers/scsi/qla4xxx/ql4_fw.h
@@ -483,7 +483,7 @@ struct addr_ctrl_blk {
483 uint16_t ipv4_tcp_opts; /* 32-33 */ 483 uint16_t ipv4_tcp_opts; /* 32-33 */
484#define TCPOPT_DHCP_ENABLE 0x0200 484#define TCPOPT_DHCP_ENABLE 0x0200
485 uint16_t ipv4_ip_opts; /* 34-35 */ 485 uint16_t ipv4_ip_opts; /* 34-35 */
486#define IPOPT_IPv4_PROTOCOL_ENABLE 0x8000 486#define IPOPT_IPV4_PROTOCOL_ENABLE 0x8000
487 487
488 uint16_t iscsi_max_pdu_size; /* 36-37 */ 488 uint16_t iscsi_max_pdu_size; /* 36-37 */
489 uint8_t ipv4_tos; /* 38 */ 489 uint8_t ipv4_tos; /* 38 */
diff --git a/drivers/scsi/qla4xxx/ql4_init.c b/drivers/scsi/qla4xxx/ql4_init.c
index 42ed5db2d530..30680124c5c1 100644
--- a/drivers/scsi/qla4xxx/ql4_init.c
+++ b/drivers/scsi/qla4xxx/ql4_init.c
@@ -236,38 +236,44 @@ qla4xxx_wait_for_ip_config(struct scsi_qla_host *ha)
236 FW_ADDSTATE_DHCPv4_LEASE_ACQUIRED) == 0)) { 236 FW_ADDSTATE_DHCPv4_LEASE_ACQUIRED) == 0)) {
237 ipv4_wait = 1; 237 ipv4_wait = 1;
238 } 238 }
239 if (((ha->ipv6_addl_options & 239 if (((ha->ip_config.ipv6_addl_options &
240 IPV6_ADDOPT_NEIGHBOR_DISCOVERY_ADDR_ENABLE) != 0) && 240 IPV6_ADDOPT_NEIGHBOR_DISCOVERY_ADDR_ENABLE) != 0) &&
241 ((ha->ipv6_link_local_state == IP_ADDRSTATE_ACQUIRING) || 241 ((ha->ip_config.ipv6_link_local_state ==
242 (ha->ipv6_addr0_state == IP_ADDRSTATE_ACQUIRING) || 242 IP_ADDRSTATE_ACQUIRING) ||
243 (ha->ipv6_addr1_state == IP_ADDRSTATE_ACQUIRING))) { 243 (ha->ip_config.ipv6_addr0_state ==
244 IP_ADDRSTATE_ACQUIRING) ||
245 (ha->ip_config.ipv6_addr1_state ==
246 IP_ADDRSTATE_ACQUIRING))) {
244 247
245 ipv6_wait = 1; 248 ipv6_wait = 1;
246 249
247 if ((ha->ipv6_link_local_state == 250 if ((ha->ip_config.ipv6_link_local_state ==
248 IP_ADDRSTATE_PREFERRED) || 251 IP_ADDRSTATE_PREFERRED) ||
249 (ha->ipv6_addr0_state == IP_ADDRSTATE_PREFERRED) || 252 (ha->ip_config.ipv6_addr0_state ==
250 (ha->ipv6_addr1_state == IP_ADDRSTATE_PREFERRED)) { 253 IP_ADDRSTATE_PREFERRED) ||
254 (ha->ip_config.ipv6_addr1_state ==
255 IP_ADDRSTATE_PREFERRED)) {
251 DEBUG2(printk(KERN_INFO "scsi%ld: %s: " 256 DEBUG2(printk(KERN_INFO "scsi%ld: %s: "
252 "Preferred IP configured." 257 "Preferred IP configured."
253 " Don't wait!\n", ha->host_no, 258 " Don't wait!\n", ha->host_no,
254 __func__)); 259 __func__));
255 ipv6_wait = 0; 260 ipv6_wait = 0;
256 } 261 }
257 if (memcmp(&ha->ipv6_default_router_addr, ip_address, 262 if (memcmp(&ha->ip_config.ipv6_default_router_addr,
258 IPv6_ADDR_LEN) == 0) { 263 ip_address, IPv6_ADDR_LEN) == 0) {
259 DEBUG2(printk(KERN_INFO "scsi%ld: %s: " 264 DEBUG2(printk(KERN_INFO "scsi%ld: %s: "
260 "No Router configured. " 265 "No Router configured. "
261 "Don't wait!\n", ha->host_no, 266 "Don't wait!\n", ha->host_no,
262 __func__)); 267 __func__));
263 ipv6_wait = 0; 268 ipv6_wait = 0;
264 } 269 }
265 if ((ha->ipv6_default_router_state == 270 if ((ha->ip_config.ipv6_default_router_state ==
266 IPV6_RTRSTATE_MANUAL) && 271 IPV6_RTRSTATE_MANUAL) &&
267 (ha->ipv6_link_local_state == 272 (ha->ip_config.ipv6_link_local_state ==
268 IP_ADDRSTATE_TENTATIVE) && 273 IP_ADDRSTATE_TENTATIVE) &&
269 (memcmp(&ha->ipv6_link_local_addr, 274 (memcmp(&ha->ip_config.ipv6_link_local_addr,
270 &ha->ipv6_default_router_addr, 4) == 0)) { 275 &ha->ip_config.ipv6_default_router_addr, 4) ==
276 0)) {
271 DEBUG2(printk("scsi%ld: %s: LinkLocal Router & " 277 DEBUG2(printk("scsi%ld: %s: LinkLocal Router & "
272 "IP configured. Don't wait!\n", 278 "IP configured. Don't wait!\n",
273 ha->host_no, __func__)); 279 ha->host_no, __func__));
@@ -279,11 +285,14 @@ qla4xxx_wait_for_ip_config(struct scsi_qla_host *ha)
279 "IP(s) \"", ha->host_no, __func__)); 285 "IP(s) \"", ha->host_no, __func__));
280 if (ipv4_wait) 286 if (ipv4_wait)
281 DEBUG2(printk("IPv4 ")); 287 DEBUG2(printk("IPv4 "));
282 if (ha->ipv6_link_local_state == IP_ADDRSTATE_ACQUIRING) 288 if (ha->ip_config.ipv6_link_local_state ==
289 IP_ADDRSTATE_ACQUIRING)
283 DEBUG2(printk("IPv6LinkLocal ")); 290 DEBUG2(printk("IPv6LinkLocal "));
284 if (ha->ipv6_addr0_state == IP_ADDRSTATE_ACQUIRING) 291 if (ha->ip_config.ipv6_addr0_state ==
292 IP_ADDRSTATE_ACQUIRING)
285 DEBUG2(printk("IPv6Addr0 ")); 293 DEBUG2(printk("IPv6Addr0 "));
286 if (ha->ipv6_addr1_state == IP_ADDRSTATE_ACQUIRING) 294 if (ha->ip_config.ipv6_addr1_state ==
295 IP_ADDRSTATE_ACQUIRING)
287 DEBUG2(printk("IPv6Addr1 ")); 296 DEBUG2(printk("IPv6Addr1 "));
288 DEBUG2(printk("\"\n")); 297 DEBUG2(printk("\"\n"));
289 } 298 }
@@ -1297,8 +1306,8 @@ int qla4xxx_initialize_adapter(struct scsi_qla_host *ha,
1297 goto exit_init_online; 1306 goto exit_init_online;
1298 1307
1299 /* Skip device discovery if ip and subnet is zero */ 1308 /* Skip device discovery if ip and subnet is zero */
1300 if (memcmp(ha->ip_address, ip_address, IP_ADDR_LEN) == 0 || 1309 if (memcmp(ha->ip_config.ip_address, ip_address, IP_ADDR_LEN) == 0 ||
1301 memcmp(ha->subnet_mask, ip_address, IP_ADDR_LEN) == 0) 1310 memcmp(ha->ip_config.subnet_mask, ip_address, IP_ADDR_LEN) == 0)
1302 goto exit_init_online; 1311 goto exit_init_online;
1303 1312
1304 if (renew_ddb_list == PRESERVE_DDB_LIST) { 1313 if (renew_ddb_list == PRESERVE_DDB_LIST) {
diff --git a/drivers/scsi/qla4xxx/ql4_mbx.c b/drivers/scsi/qla4xxx/ql4_mbx.c
index 559286dcc53c..0e7530e7e7dc 100644
--- a/drivers/scsi/qla4xxx/ql4_mbx.c
+++ b/drivers/scsi/qla4xxx/ql4_mbx.c
@@ -327,39 +327,57 @@ qla4xxx_get_ifcb(struct scsi_qla_host *ha, uint32_t *mbox_cmd,
327 327
328static void 328static void
329qla4xxx_update_local_ip(struct scsi_qla_host *ha, 329qla4xxx_update_local_ip(struct scsi_qla_host *ha,
330 struct addr_ctrl_blk *init_fw_cb) 330 struct addr_ctrl_blk *init_fw_cb)
331{ 331{
332 ha->ip_config.tcp_options = le16_to_cpu(init_fw_cb->ipv4_tcp_opts);
333 ha->ip_config.ipv4_options = le16_to_cpu(init_fw_cb->ipv4_ip_opts);
334 ha->ip_config.ipv4_addr_state =
335 le16_to_cpu(init_fw_cb->ipv4_addr_state);
336
337 if (ha->acb_version == ACB_SUPPORTED) {
338 ha->ip_config.ipv6_options = le16_to_cpu(init_fw_cb->ipv6_opts);
339 ha->ip_config.ipv6_addl_options =
340 le16_to_cpu(init_fw_cb->ipv6_addtl_opts);
341 }
342
332 /* Save IPv4 Address Info */ 343 /* Save IPv4 Address Info */
333 memcpy(ha->ip_address, init_fw_cb->ipv4_addr, 344 memcpy(ha->ip_config.ip_address, init_fw_cb->ipv4_addr,
334 min(sizeof(ha->ip_address), sizeof(init_fw_cb->ipv4_addr))); 345 min(sizeof(ha->ip_config.ip_address),
335 memcpy(ha->subnet_mask, init_fw_cb->ipv4_subnet, 346 sizeof(init_fw_cb->ipv4_addr)));
336 min(sizeof(ha->subnet_mask), sizeof(init_fw_cb->ipv4_subnet))); 347 memcpy(ha->ip_config.subnet_mask, init_fw_cb->ipv4_subnet,
337 memcpy(ha->gateway, init_fw_cb->ipv4_gw_addr, 348 min(sizeof(ha->ip_config.subnet_mask),
338 min(sizeof(ha->gateway), sizeof(init_fw_cb->ipv4_gw_addr))); 349 sizeof(init_fw_cb->ipv4_subnet)));
350 memcpy(ha->ip_config.gateway, init_fw_cb->ipv4_gw_addr,
351 min(sizeof(ha->ip_config.gateway),
352 sizeof(init_fw_cb->ipv4_gw_addr)));
339 353
340 if (is_ipv6_enabled(ha)) { 354 if (is_ipv6_enabled(ha)) {
341 /* Save IPv6 Address */ 355 /* Save IPv6 Address */
342 ha->ipv6_link_local_state = init_fw_cb->ipv6_lnk_lcl_addr_state; 356 ha->ip_config.ipv6_link_local_state =
343 ha->ipv6_addr0_state = init_fw_cb->ipv6_addr0_state; 357 le16_to_cpu(init_fw_cb->ipv6_lnk_lcl_addr_state);
344 ha->ipv6_addr1_state = init_fw_cb->ipv6_addr1_state; 358 ha->ip_config.ipv6_addr0_state =
345 ha->ipv6_default_router_state = init_fw_cb->ipv6_dflt_rtr_state; 359 le16_to_cpu(init_fw_cb->ipv6_addr0_state);
346 ha->ipv6_link_local_addr.in6_u.u6_addr8[0] = 0xFE; 360 ha->ip_config.ipv6_addr1_state =
347 ha->ipv6_link_local_addr.in6_u.u6_addr8[1] = 0x80; 361 le16_to_cpu(init_fw_cb->ipv6_addr1_state);
348 362 ha->ip_config.ipv6_default_router_state =
349 memcpy(&ha->ipv6_link_local_addr.in6_u.u6_addr8[8], 363 le16_to_cpu(init_fw_cb->ipv6_dflt_rtr_state);
350 init_fw_cb->ipv6_if_id, 364 ha->ip_config.ipv6_link_local_addr.in6_u.u6_addr8[0] = 0xFE;
351 min(sizeof(ha->ipv6_link_local_addr)/2, 365 ha->ip_config.ipv6_link_local_addr.in6_u.u6_addr8[1] = 0x80;
352 sizeof(init_fw_cb->ipv6_if_id))); 366
353 memcpy(&ha->ipv6_addr0, init_fw_cb->ipv6_addr0, 367 memcpy(&ha->ip_config.ipv6_link_local_addr.in6_u.u6_addr8[8],
354 min(sizeof(ha->ipv6_addr0), 368 init_fw_cb->ipv6_if_id,
355 sizeof(init_fw_cb->ipv6_addr0))); 369 min(sizeof(ha->ip_config.ipv6_link_local_addr)/2,
356 memcpy(&ha->ipv6_addr1, init_fw_cb->ipv6_addr1, 370 sizeof(init_fw_cb->ipv6_if_id)));
357 min(sizeof(ha->ipv6_addr1), 371 memcpy(&ha->ip_config.ipv6_addr0, init_fw_cb->ipv6_addr0,
358 sizeof(init_fw_cb->ipv6_addr1))); 372 min(sizeof(ha->ip_config.ipv6_addr0),
359 memcpy(&ha->ipv6_default_router_addr, 373 sizeof(init_fw_cb->ipv6_addr0)));
360 init_fw_cb->ipv6_dflt_rtr_addr, 374 memcpy(&ha->ip_config.ipv6_addr1, init_fw_cb->ipv6_addr1,
361 min(sizeof(ha->ipv6_default_router_addr), 375 min(sizeof(ha->ip_config.ipv6_addr1),
362 sizeof(init_fw_cb->ipv6_dflt_rtr_addr))); 376 sizeof(init_fw_cb->ipv6_addr1)));
377 memcpy(&ha->ip_config.ipv6_default_router_addr,
378 init_fw_cb->ipv6_dflt_rtr_addr,
379 min(sizeof(ha->ip_config.ipv6_default_router_addr),
380 sizeof(init_fw_cb->ipv6_dflt_rtr_addr)));
363 } 381 }
364} 382}
365 383
@@ -383,9 +401,6 @@ qla4xxx_update_local_ifcb(struct scsi_qla_host *ha,
383 /* Save some info in adapter structure. */ 401 /* Save some info in adapter structure. */
384 ha->acb_version = init_fw_cb->acb_version; 402 ha->acb_version = init_fw_cb->acb_version;
385 ha->firmware_options = le16_to_cpu(init_fw_cb->fw_options); 403 ha->firmware_options = le16_to_cpu(init_fw_cb->fw_options);
386 ha->tcp_options = le16_to_cpu(init_fw_cb->ipv4_tcp_opts);
387 ha->ipv4_options = le16_to_cpu(init_fw_cb->ipv4_ip_opts);
388 ha->ipv4_addr_state = le16_to_cpu(init_fw_cb->ipv4_addr_state);
389 ha->heartbeat_interval = init_fw_cb->hb_interval; 404 ha->heartbeat_interval = init_fw_cb->hb_interval;
390 memcpy(ha->name_string, init_fw_cb->iscsi_name, 405 memcpy(ha->name_string, init_fw_cb->iscsi_name,
391 min(sizeof(ha->name_string), 406 min(sizeof(ha->name_string),
@@ -393,10 +408,6 @@ qla4xxx_update_local_ifcb(struct scsi_qla_host *ha,
393 /*memcpy(ha->alias, init_fw_cb->Alias, 408 /*memcpy(ha->alias, init_fw_cb->Alias,
394 min(sizeof(ha->alias), sizeof(init_fw_cb->Alias)));*/ 409 min(sizeof(ha->alias), sizeof(init_fw_cb->Alias)));*/
395 410
396 if (ha->acb_version == ACB_SUPPORTED) {
397 ha->ipv6_options = init_fw_cb->ipv6_opts;
398 ha->ipv6_addl_options = init_fw_cb->ipv6_addtl_opts;
399 }
400 qla4xxx_update_local_ip(ha, init_fw_cb); 411 qla4xxx_update_local_ip(ha, init_fw_cb);
401 412
402 return QLA_SUCCESS; 413 return QLA_SUCCESS;
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index 586f12f17c33..21e4f858d72b 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -191,9 +191,7 @@ static int qla4xxx_host_get_param(struct Scsi_Host *shost,
191 len = sysfs_format_mac(buf, ha->my_mac, MAC_ADDR_LEN); 191 len = sysfs_format_mac(buf, ha->my_mac, MAC_ADDR_LEN);
192 break; 192 break;
193 case ISCSI_HOST_PARAM_IPADDRESS: 193 case ISCSI_HOST_PARAM_IPADDRESS:
194 len = sprintf(buf, "%d.%d.%d.%d\n", ha->ip_address[0], 194 len = sprintf(buf, "%pI4\n", &ha->ip_config.ip_address);
195 ha->ip_address[1], ha->ip_address[2],
196 ha->ip_address[3]);
197 break; 195 break;
198 case ISCSI_HOST_PARAM_INITIATOR_NAME: 196 case ISCSI_HOST_PARAM_INITIATOR_NAME:
199 len = sprintf(buf, "%s\n", ha->name_string); 197 len = sprintf(buf, "%s\n", ha->name_string);
@@ -330,10 +328,10 @@ static void qla4xxx_set_ipv4(struct scsi_qla_host *ha,
330 case ISCSI_NET_PARAM_IFACE_ENABLE: 328 case ISCSI_NET_PARAM_IFACE_ENABLE:
331 if (iface_param->value[0] == ISCSI_IFACE_ENABLE) 329 if (iface_param->value[0] == ISCSI_IFACE_ENABLE)
332 init_fw_cb->ipv4_ip_opts |= 330 init_fw_cb->ipv4_ip_opts |=
333 cpu_to_le16(IPOPT_IPv4_PROTOCOL_ENABLE); 331 cpu_to_le16(IPOPT_IPV4_PROTOCOL_ENABLE);
334 else 332 else
335 init_fw_cb->ipv4_ip_opts &= 333 init_fw_cb->ipv4_ip_opts &=
336 cpu_to_le16(~IPOPT_IPv4_PROTOCOL_ENABLE & 334 cpu_to_le16(~IPOPT_IPV4_PROTOCOL_ENABLE &
337 0xFFFF); 335 0xFFFF);
338 break; 336 break;
339 case ISCSI_NET_PARAM_VLAN_ID: 337 case ISCSI_NET_PARAM_VLAN_ID: