Lines Matching refs:login
185 struct iscsi_login *login) in iscsi_target_check_login_request() argument
191 login_req = (struct iscsi_login_req *) login->req; in iscsi_target_check_login_request()
217 if (req_csg != login->current_stage) { in iscsi_target_check_login_request()
219 " from %d to %d, login failed.\n", login->current_stage, in iscsi_target_check_login_request()
237 if ((login_req->max_version != login->version_max) || in iscsi_target_check_login_request()
238 (login_req->min_version != login->version_min)) { in iscsi_target_check_login_request()
247 if (memcmp(login_req->isid, login->isid, 6) != 0) { in iscsi_target_check_login_request()
255 if (login_req->itt != login->init_task_tag) { in iscsi_target_check_login_request()
275 struct iscsi_login *login) in iscsi_target_check_first_request() argument
280 login->first_request = 0; in iscsi_target_check_first_request()
297 if (!login->leading_connection) in iscsi_target_check_first_request()
312 if (!login->leading_connection) { in iscsi_target_check_first_request()
341 static int iscsi_target_do_tx_login_io(struct iscsi_conn *conn, struct iscsi_login *login) in iscsi_target_do_tx_login_io() argument
347 login_rsp = (struct iscsi_login_rsp *) login->rsp; in iscsi_target_do_tx_login_io()
350 hton24(login_rsp->dlength, login->rsp_length); in iscsi_target_do_tx_login_io()
351 memcpy(login_rsp->isid, login->isid, 6); in iscsi_target_do_tx_login_io()
352 login_rsp->tsih = cpu_to_be16(login->tsih); in iscsi_target_do_tx_login_io()
353 login_rsp->itt = login->init_task_tag; in iscsi_target_do_tx_login_io()
362 ntohl(login_rsp->statsn), login->rsp_length); in iscsi_target_do_tx_login_io()
364 padding = ((-login->rsp_length) & 3); in iscsi_target_do_tx_login_io()
371 if (login->login_complete) { in iscsi_target_do_tx_login_io()
380 if (conn->conn_transport->iscsit_put_login_tx(conn, login, in iscsi_target_do_tx_login_io()
381 login->rsp_length + padding) < 0) in iscsi_target_do_tx_login_io()
384 login->rsp_length = 0; in iscsi_target_do_tx_login_io()
393 if (login->login_complete) { in iscsi_target_do_tx_login_io()
507 static void iscsi_target_login_drop(struct iscsi_conn *conn, struct iscsi_login *login) in iscsi_target_login_drop() argument
509 struct iscsi_np *np = login->np; in iscsi_target_login_drop()
510 bool zero_tsih = login->zero_tsih; in iscsi_target_login_drop()
534 struct iscsi_login *login = conn->login; in iscsi_target_do_login_rx() local
535 struct iscsi_np *np = login->np; in iscsi_target_do_login_rx()
539 int rc, zero_tsih = login->zero_tsih; in iscsi_target_do_login_rx()
552 iscsi_target_login_drop(conn, login); in iscsi_target_do_login_rx()
567 iscsi_target_login_drop(conn, login); in iscsi_target_do_login_rx()
583 rc = conn->conn_transport->iscsit_get_login_rx(conn, login); in iscsi_target_do_login_rx()
590 iscsi_target_login_drop(conn, login); in iscsi_target_do_login_rx()
598 rc = iscsi_target_do_login(conn, login); in iscsi_target_do_login_rx()
601 iscsi_target_login_drop(conn, login); in iscsi_target_do_login_rx()
623 struct iscsi_login *login = conn->login; in iscsi_target_do_cleanup() local
624 struct iscsi_np *np = login->np; in iscsi_target_do_cleanup()
634 iscsi_target_login_drop(conn, login); in iscsi_target_do_cleanup()
698 struct iscsi_login *login) in iscsi_target_check_for_existing_instances() argument
700 if (login->checked_for_existing) in iscsi_target_check_for_existing_instances()
703 login->checked_for_existing = 1; in iscsi_target_check_for_existing_instances()
705 if (!login->tsih) in iscsi_target_check_for_existing_instances()
708 return iscsi_login_post_auth_non_zero_tsih(conn, login->cid, in iscsi_target_check_for_existing_instances()
709 login->initial_exp_statsn); in iscsi_target_check_for_existing_instances()
714 struct iscsi_login *login) in iscsi_target_do_authentication() argument
722 login_req = (struct iscsi_login_req *) login->req; in iscsi_target_do_authentication()
723 login_rsp = (struct iscsi_login_rsp *) login->rsp; in iscsi_target_do_authentication()
732 login->req_buf, in iscsi_target_do_authentication()
733 login->rsp_buf, in iscsi_target_do_authentication()
735 &login->rsp_length, in iscsi_target_do_authentication()
745 login->auth_complete = 1; in iscsi_target_do_authentication()
750 login->current_stage = 1; in iscsi_target_do_authentication()
753 conn, login); in iscsi_target_do_authentication()
773 struct iscsi_login *login) in iscsi_target_handle_csg_zero() argument
781 login_req = (struct iscsi_login_req *) login->req; in iscsi_target_handle_csg_zero()
782 login_rsp = (struct iscsi_login_rsp *) login->rsp; in iscsi_target_handle_csg_zero()
792 login->req_buf, in iscsi_target_handle_csg_zero()
799 if (login->auth_complete) { in iscsi_target_handle_csg_zero()
817 if (login->first_request) in iscsi_target_handle_csg_zero()
818 if (iscsi_target_check_first_request(conn, login) < 0) in iscsi_target_handle_csg_zero()
824 login->rsp_buf, in iscsi_target_handle_csg_zero()
825 &login->rsp_length, in iscsi_target_handle_csg_zero()
842 !login->auth_complete) in iscsi_target_handle_csg_zero()
845 if (strncmp(param->value, NONE, 4) && !login->auth_complete) in iscsi_target_handle_csg_zero()
852 login->current_stage = 1; in iscsi_target_handle_csg_zero()
858 return iscsi_target_do_authentication(conn, login); in iscsi_target_handle_csg_zero()
861 static int iscsi_target_handle_csg_one(struct iscsi_conn *conn, struct iscsi_login *login) in iscsi_target_handle_csg_one() argument
868 login_req = (struct iscsi_login_req *) login->req; in iscsi_target_handle_csg_one()
869 login_rsp = (struct iscsi_login_rsp *) login->rsp; in iscsi_target_handle_csg_one()
875 login->req_buf, in iscsi_target_handle_csg_one()
884 if (login->first_request) in iscsi_target_handle_csg_one()
885 if (iscsi_target_check_first_request(conn, login) < 0) in iscsi_target_handle_csg_one()
888 if (iscsi_target_check_for_existing_instances(conn, login) < 0) in iscsi_target_handle_csg_one()
894 login->rsp_buf, in iscsi_target_handle_csg_one()
895 &login->rsp_length, in iscsi_target_handle_csg_one()
903 if (!login->auth_complete && in iscsi_target_handle_csg_one()
922 static int iscsi_target_do_login(struct iscsi_conn *conn, struct iscsi_login *login) in iscsi_target_do_login() argument
928 login_req = (struct iscsi_login_req *) login->req; in iscsi_target_do_login()
929 login_rsp = (struct iscsi_login_rsp *) login->rsp; in iscsi_target_do_login()
942 if (iscsi_target_handle_csg_zero(conn, login) < 0) in iscsi_target_do_login()
947 if (iscsi_target_handle_csg_one(conn, login) < 0) in iscsi_target_do_login()
950 login->tsih = conn->sess->tsih; in iscsi_target_do_login()
951 login->login_complete = 1; in iscsi_target_do_login()
954 login) < 0) in iscsi_target_do_login()
966 if (iscsi_target_do_tx_login_io(conn, login) < 0) in iscsi_target_do_login()
1015 struct iscsi_login *login) in iscsi_target_locate_portal() argument
1031 login->np = np; in iscsi_target_locate_portal()
1033 login_req = (struct iscsi_login_req *) login->req; in iscsi_target_locate_portal()
1042 memcpy(tmpbuf, login->req_buf, payload_length); in iscsi_target_locate_portal()
1085 if (!login->leading_connection) in iscsi_target_locate_portal()
1102 if (!login->leading_connection) in iscsi_target_locate_portal()
1198 if (!login->leading_connection) { in iscsi_target_locate_portal()
1249 struct iscsi_login *login, in iscsi_target_start_negotiation() argument
1254 ret = iscsi_target_do_login(conn, login); in iscsi_target_start_negotiation()
1277 struct iscsi_login *login = conn->conn_login; in iscsi_target_nego_release() local
1279 if (!login) in iscsi_target_nego_release()
1282 kfree(login->req_buf); in iscsi_target_nego_release()
1283 kfree(login->rsp_buf); in iscsi_target_nego_release()
1284 kfree(login); in iscsi_target_nego_release()