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.