diff options
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, |