Lines Matching defs:login
169 struct iscsi_login *login)
175 login_req = (struct iscsi_login_req *) login->req;
201 if (req_csg != login->current_stage) {
202 pr_err("Initiator unexpectedly changed login stage"
203 " from %d to %d, login failed.\n", login->current_stage,
221 if ((login_req->max_version != login->version_max) ||
222 (login_req->min_version != login->version_min)) {
231 if (memcmp(login_req->isid, login->isid, 6) != 0) {
239 if (login_req->itt != login->init_task_tag) {
260 struct iscsi_login *login)
265 login->first_request = 0;
271 " in first login request.\n");
282 if (!login->leading_connection)
286 " in first login request.\n");
297 if (!login->leading_connection) {
326 static int iscsi_target_do_tx_login_io(struct iscsi_conn *conn, struct iscsi_login *login)
331 login_rsp = (struct iscsi_login_rsp *) login->rsp;
334 hton24(login_rsp->dlength, login->rsp_length);
335 memcpy(login_rsp->isid, login->isid, 6);
336 login_rsp->tsih = cpu_to_be16(login->tsih);
337 login_rsp->itt = login->init_task_tag;
346 ntohl(login_rsp->statsn), login->rsp_length);
348 padding = ((-login->rsp_length) & 3);
350 * Before sending the last login response containing the transition
353 * final login response has been sent.
355 if (login->login_complete) {
364 if (conn->conn_transport->iscsit_put_login_tx(conn, login,
365 login->rsp_length + padding) < 0)
368 login->rsp_length = 0;
373 if (login->login_complete) {
536 static void iscsi_target_login_drop(struct iscsi_conn *conn, struct iscsi_login *login)
538 bool zero_tsih = login->zero_tsih;
568 struct iscsi_login *login = conn->login;
569 struct iscsi_np *np = login->np;
573 int rc, zero_tsih = login->zero_tsih;
613 pr_debug("Starting login timer for %s/%d\n", current->comm, current->pid);
615 rc = conn->conn_transport->iscsit_get_login_rx(conn, login);
632 * process a login PDU, so that sk_state_chage can do login
649 rc = iscsi_target_do_login(conn, login);
667 iscsi_target_login_drop(conn, login);
753 struct iscsi_login *login)
755 if (login->checked_for_existing)
758 login->checked_for_existing = 1;
760 if (!login->tsih)
763 return iscsi_login_post_auth_non_zero_tsih(conn, login->cid,
764 login->initial_exp_statsn);
769 struct iscsi_login *login)
777 login_req = (struct iscsi_login_req *) login->req;
778 login_rsp = (struct iscsi_login_rsp *) login->rsp;
787 login->req_buf,
788 login->rsp_buf,
790 &login->rsp_length,
800 login->auth_complete = 1;
805 login->current_stage = 1;
808 conn, login);
828 struct iscsi_login *login)
836 login_req = (struct iscsi_login_req *) login->req;
837 login_rsp = (struct iscsi_login_rsp *) login->rsp;
847 login->req_buf,
854 if (login->auth_complete) {
866 " login failed\n");
872 if (login->first_request)
873 if (iscsi_target_check_first_request(conn, login) < 0)
879 login->rsp_buf,
880 &login->rsp_length,
891 " login failed.\n");
898 !login->auth_complete)
901 if (strncmp(param->value, NONE, 4) && !login->auth_complete)
908 login->current_stage = 1;
914 return iscsi_target_do_authentication(conn, login);
917 static int iscsi_target_handle_csg_one(struct iscsi_conn *conn, struct iscsi_login *login)
924 login_req = (struct iscsi_login_req *) login->req;
925 login_rsp = (struct iscsi_login_rsp *) login->rsp;
931 login->req_buf,
940 if (login->first_request)
941 if (iscsi_target_check_first_request(conn, login) < 0)
944 if (iscsi_target_check_for_existing_instances(conn, login) < 0)
950 login->rsp_buf,
951 &login->rsp_length,
960 if (!login->auth_complete &&
964 " enforcing iSCSI Authentication, login failed.\n");
979 static int iscsi_target_do_login(struct iscsi_conn *conn, struct iscsi_login *login)
985 login_req = (struct iscsi_login_req *) login->req;
986 login_rsp = (struct iscsi_login_rsp *) login->rsp;
999 if (iscsi_target_handle_csg_zero(conn, login) < 0)
1004 if (iscsi_target_handle_csg_one(conn, login) < 0)
1016 login->tsih = conn->sess->tsih;
1017 login->login_complete = 1;
1020 login) < 0)
1032 if (iscsi_target_do_tx_login_io(conn, login) < 0)
1066 struct iscsi_login *login)
1081 login->np = np;
1084 login_req = (struct iscsi_login_req *) login->req;
1093 memcpy(tmpbuf, login->req_buf, payload_length);
1100 * the first login request in order to progress with the login phase.
1122 " in first login request.\n");
1136 if (!login->leading_connection)
1140 " in first login request.\n");
1152 if (!login->leading_connection)
1166 * process login attempt.
1183 " in first login request while"
1233 * process login attempt.
1250 if (!login->leading_connection) {
1301 struct iscsi_login *login,
1316 * exchanges are required to complete the login, go ahead and
1323 ret = iscsi_target_do_login(conn, login);
1340 struct iscsi_login *login = conn->conn_login;
1342 if (!login)
1345 kfree(login->req_buf);
1346 kfree(login->rsp_buf);
1347 kfree(login);