diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2011-02-16 16:04:40 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2011-02-24 12:41:23 -0500 |
commit | 7c53c6f89d7a6487986c51cd73ae9a9be338a8f4 (patch) | |
tree | b1762d88f6906093be6cb80b9c8a4607d973e764 /drivers/infiniband | |
parent | d8585bcd7da071f4278710f1c39e18dfe7cb0280 (diff) |
[SCSI] iser: export addr and port
This pactch has iser export the address and port
of the endpoint.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/ulp/iser/iscsi_iser.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.c b/drivers/infiniband/ulp/iser/iscsi_iser.c index 7b2fc98e2f2b..8db008de5392 100644 --- a/drivers/infiniband/ulp/iser/iscsi_iser.c +++ b/drivers/infiniband/ulp/iser/iscsi_iser.c | |||
@@ -532,6 +532,29 @@ iscsi_iser_conn_get_stats(struct iscsi_cls_conn *cls_conn, struct iscsi_stats *s | |||
532 | stats->custom[3].value = conn->fmr_unalign_cnt; | 532 | stats->custom[3].value = conn->fmr_unalign_cnt; |
533 | } | 533 | } |
534 | 534 | ||
535 | static int iscsi_iser_get_ep_param(struct iscsi_endpoint *ep, | ||
536 | enum iscsi_param param, char *buf) | ||
537 | { | ||
538 | struct iser_conn *ib_conn = ep->dd_data; | ||
539 | int len; | ||
540 | |||
541 | switch (param) { | ||
542 | case ISCSI_PARAM_CONN_PORT: | ||
543 | case ISCSI_PARAM_CONN_ADDRESS: | ||
544 | if (!ib_conn || !ib_conn->cma_id) | ||
545 | return -ENOTCONN; | ||
546 | |||
547 | return iscsi_conn_get_addr_param((struct sockaddr_storage *) | ||
548 | &ib_conn->cma_id->route.addr.dst_addr, | ||
549 | param, buf); | ||
550 | break; | ||
551 | default: | ||
552 | return -ENOSYS; | ||
553 | } | ||
554 | |||
555 | return len; | ||
556 | } | ||
557 | |||
535 | static struct iscsi_endpoint * | 558 | static struct iscsi_endpoint * |
536 | iscsi_iser_ep_connect(struct Scsi_Host *shost, struct sockaddr *dst_addr, | 559 | iscsi_iser_ep_connect(struct Scsi_Host *shost, struct sockaddr *dst_addr, |
537 | int non_blocking) | 560 | int non_blocking) |
@@ -637,6 +660,8 @@ static struct iscsi_transport iscsi_iser_transport = { | |||
637 | ISCSI_MAX_BURST | | 660 | ISCSI_MAX_BURST | |
638 | ISCSI_PDU_INORDER_EN | | 661 | ISCSI_PDU_INORDER_EN | |
639 | ISCSI_DATASEQ_INORDER_EN | | 662 | ISCSI_DATASEQ_INORDER_EN | |
663 | ISCSI_CONN_PORT | | ||
664 | ISCSI_CONN_ADDRESS | | ||
640 | ISCSI_EXP_STATSN | | 665 | ISCSI_EXP_STATSN | |
641 | ISCSI_PERSISTENT_PORT | | 666 | ISCSI_PERSISTENT_PORT | |
642 | ISCSI_PERSISTENT_ADDRESS | | 667 | ISCSI_PERSISTENT_ADDRESS | |
@@ -659,6 +684,7 @@ static struct iscsi_transport iscsi_iser_transport = { | |||
659 | .destroy_conn = iscsi_iser_conn_destroy, | 684 | .destroy_conn = iscsi_iser_conn_destroy, |
660 | .set_param = iscsi_iser_set_param, | 685 | .set_param = iscsi_iser_set_param, |
661 | .get_conn_param = iscsi_conn_get_param, | 686 | .get_conn_param = iscsi_conn_get_param, |
687 | .get_ep_param = iscsi_iser_get_ep_param, | ||
662 | .get_session_param = iscsi_session_get_param, | 688 | .get_session_param = iscsi_session_get_param, |
663 | .start_conn = iscsi_iser_conn_start, | 689 | .start_conn = iscsi_iser_conn_start, |
664 | .stop_conn = iscsi_iser_conn_stop, | 690 | .stop_conn = iscsi_iser_conn_stop, |