diff options
author | Vikas Chaudhary <vikas.chaudhary@qlogic.com> | 2011-08-01 06:26:19 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-08-27 10:36:40 -0400 |
commit | 2ada7fc5d4c4ddeb15bb624045fa3b36ddc025e6 (patch) | |
tree | ddcdc95c2ebcf8b528fd3da472218aec15304026 /drivers/scsi/qla4xxx/ql4_os.c | |
parent | fcb5124e03c8158cfe06cb204e1633149edc5f88 (diff) |
[SCSI] qla4xxx: added support to update initiator iscsi port
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_os.c')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_os.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c index 58a270b74b2a..489d7cd5e0ce 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c | |||
@@ -231,6 +231,7 @@ static mode_t ql4_attr_is_visible(int param_type, int param) | |||
231 | case ISCSI_NET_PARAM_VLAN_PRIORITY: | 231 | case ISCSI_NET_PARAM_VLAN_PRIORITY: |
232 | case ISCSI_NET_PARAM_VLAN_ENABLED: | 232 | case ISCSI_NET_PARAM_VLAN_ENABLED: |
233 | case ISCSI_NET_PARAM_MTU: | 233 | case ISCSI_NET_PARAM_MTU: |
234 | case ISCSI_NET_PARAM_PORT: | ||
234 | return S_IRUGO; | 235 | return S_IRUGO; |
235 | default: | 236 | default: |
236 | return 0; | 237 | return 0; |
@@ -339,6 +340,12 @@ static int qla4xxx_get_iface_param(struct iscsi_iface *iface, | |||
339 | case ISCSI_NET_PARAM_MTU: | 340 | case ISCSI_NET_PARAM_MTU: |
340 | len = sprintf(buf, "%d\n", ha->ip_config.eth_mtu_size); | 341 | len = sprintf(buf, "%d\n", ha->ip_config.eth_mtu_size); |
341 | break; | 342 | break; |
343 | case ISCSI_NET_PARAM_PORT: | ||
344 | if (iface->iface_type == ISCSI_IFACE_TYPE_IPV4) | ||
345 | len = sprintf(buf, "%d\n", ha->ip_config.ipv4_port); | ||
346 | else if (iface->iface_type == ISCSI_IFACE_TYPE_IPV6) | ||
347 | len = sprintf(buf, "%d\n", ha->ip_config.ipv6_port); | ||
348 | break; | ||
342 | default: | 349 | default: |
343 | len = -ENOSYS; | 350 | len = -ENOSYS; |
344 | } | 351 | } |
@@ -726,6 +733,14 @@ static void qla4xxx_set_ipv6(struct scsi_qla_host *ha, | |||
726 | init_fw_cb->eth_mtu_size = | 733 | init_fw_cb->eth_mtu_size = |
727 | cpu_to_le16(*(uint16_t *)iface_param->value); | 734 | cpu_to_le16(*(uint16_t *)iface_param->value); |
728 | break; | 735 | break; |
736 | case ISCSI_NET_PARAM_PORT: | ||
737 | /* Autocfg applies to even interface */ | ||
738 | if (iface_param->iface_num & 0x1) | ||
739 | break; | ||
740 | |||
741 | init_fw_cb->ipv6_port = | ||
742 | cpu_to_le16(*(uint16_t *)iface_param->value); | ||
743 | break; | ||
729 | default: | 744 | default: |
730 | ql4_printk(KERN_ERR, ha, "Unknown IPv6 param = %d\n", | 745 | ql4_printk(KERN_ERR, ha, "Unknown IPv6 param = %d\n", |
731 | iface_param->param); | 746 | iface_param->param); |
@@ -790,6 +805,10 @@ static void qla4xxx_set_ipv4(struct scsi_qla_host *ha, | |||
790 | init_fw_cb->eth_mtu_size = | 805 | init_fw_cb->eth_mtu_size = |
791 | cpu_to_le16(*(uint16_t *)iface_param->value); | 806 | cpu_to_le16(*(uint16_t *)iface_param->value); |
792 | break; | 807 | break; |
808 | case ISCSI_NET_PARAM_PORT: | ||
809 | init_fw_cb->ipv4_port = | ||
810 | cpu_to_le16(*(uint16_t *)iface_param->value); | ||
811 | break; | ||
793 | default: | 812 | default: |
794 | ql4_printk(KERN_ERR, ha, "Unknown IPv4 param = %d\n", | 813 | ql4_printk(KERN_ERR, ha, "Unknown IPv4 param = %d\n", |
795 | iface_param->param); | 814 | iface_param->param); |