aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bnx2i
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2010-07-01 18:34:55 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-07-27 13:04:01 -0400
commit625986c22e5c122b3e2f4e985680393453d8c5ce (patch)
tree9ac670f22273ed6cd2b8ca3f917d616404a8c3bf /drivers/scsi/bnx2i
parent2eefb20dbf3032da1ad111c1ce178f899bc4859a (diff)
[SCSI] bnx2i: Added host param ISCSI_HOST_PARAM_IPADDRESS
This sysfs attribute is proven to be useful during pivot_root. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: Eddie Wai <eddie.wai@broadcom.com> Reviewed-by: Benjamin Li <benli@broadcom.com> Acked-by: Anil Veerabhadrappa <anilgv@broadcom.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/bnx2i')
-rw-r--r--drivers/scsi/bnx2i/bnx2i_iscsi.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/drivers/scsi/bnx2i/bnx2i_iscsi.c b/drivers/scsi/bnx2i/bnx2i_iscsi.c
index c66c5a45aa27..a46ccc380ab1 100644
--- a/drivers/scsi/bnx2i/bnx2i_iscsi.c
+++ b/drivers/scsi/bnx2i/bnx2i_iscsi.c
@@ -1500,6 +1500,26 @@ static int bnx2i_host_get_param(struct Scsi_Host *shost,
1500 case ISCSI_HOST_PARAM_NETDEV_NAME: 1500 case ISCSI_HOST_PARAM_NETDEV_NAME:
1501 len = sprintf(buf, "%s\n", hba->netdev->name); 1501 len = sprintf(buf, "%s\n", hba->netdev->name);
1502 break; 1502 break;
1503 case ISCSI_HOST_PARAM_IPADDRESS: {
1504 struct list_head *active_list = &hba->ep_active_list;
1505
1506 read_lock_bh(&hba->ep_rdwr_lock);
1507 if (!list_empty(&hba->ep_active_list)) {
1508 struct bnx2i_endpoint *bnx2i_ep;
1509 struct cnic_sock *csk;
1510
1511 bnx2i_ep = list_first_entry(active_list,
1512 struct bnx2i_endpoint,
1513 link);
1514 csk = bnx2i_ep->cm_sk;
1515 if (test_bit(SK_F_IPV6, &csk->flags))
1516 len = sprintf(buf, "%pI6\n", csk->src_ip);
1517 else
1518 len = sprintf(buf, "%pI4\n", csk->src_ip);
1519 }
1520 read_unlock_bh(&hba->ep_rdwr_lock);
1521 break;
1522 }
1503 default: 1523 default:
1504 return iscsi_host_get_param(shost, param, buf); 1524 return iscsi_host_get_param(shost, param, buf);
1505 } 1525 }
@@ -2131,7 +2151,8 @@ struct iscsi_transport bnx2i_iscsi_transport = {
2131 ISCSI_LU_RESET_TMO | ISCSI_TGT_RESET_TMO | 2151 ISCSI_LU_RESET_TMO | ISCSI_TGT_RESET_TMO |
2132 ISCSI_PING_TMO | ISCSI_RECV_TMO | 2152 ISCSI_PING_TMO | ISCSI_RECV_TMO |
2133 ISCSI_IFACE_NAME | ISCSI_INITIATOR_NAME, 2153 ISCSI_IFACE_NAME | ISCSI_INITIATOR_NAME,
2134 .host_param_mask = ISCSI_HOST_HWADDRESS | ISCSI_HOST_NETDEV_NAME, 2154 .host_param_mask = ISCSI_HOST_HWADDRESS | ISCSI_HOST_IPADDRESS |
2155 ISCSI_HOST_NETDEV_NAME,
2135 .create_session = bnx2i_session_create, 2156 .create_session = bnx2i_session_create,
2136 .destroy_session = bnx2i_session_destroy, 2157 .destroy_session = bnx2i_session_destroy,
2137 .create_conn = bnx2i_conn_create, 2158 .create_conn = bnx2i_conn_create,