For proper discovery support, the iser transport needs the
ISCSI_PARAM_DISCOVERY_SESS hint before the login PDU is sent.

For that end, issue the call to iscsi_session_set_params before
starting the login code in case the transport is iser.

Signed-off-by: Or Gerlitz <ogerl...@mellanox.com>
---
 usr/discovery.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/usr/discovery.c b/usr/discovery.c
index afce6c0..4f02aac 100644
--- a/usr/discovery.c
+++ b/usr/discovery.c
@@ -1116,7 +1116,7 @@ static int iscsi_create_leading_conn(struct iscsi_session 
*session)
        }
 
        /* create interconnect endpoint */
-       log_debug(2, "%s discovery ep connect\n", __FUNCTION__);
+       log_debug(2, "%s discovery ep connect transport %s caps %x\n", 
__FUNCTION__, t->name, t->caps);
        rc = t->template->ep_connect(conn, 1);
        if (rc < 0) {
                rc = ISCSI_ERR_TRANS;
@@ -1406,6 +1406,17 @@ redirect_reconnect:
        if ((session->t->caps & CAP_LOGIN_OFFLOAD))
                goto start_conn;
 
+       if(!strcmp(session->t->name, "iser")) {
+               log_debug(2, "%s discovery set params\n", __FUNCTION__);
+               rc = iscsi_session_set_params(conn);
+               if (rc) {
+                       log_error("Could not set iscsi params for conn %d:%d 
(err "
+                                 "%d)\n", session->id, conn->id, rc);
+                       rc = ISCSI_ERR_INTERNAL;
+                       goto login_failed;
+               }
+       }
+
        status_class = 0;
        status_detail = 0;
        rc = ISCSI_ERR_LOGIN;
-- 
1.7.1

-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to open-iscsi+unsubscr...@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at http://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to