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
346 login_rsp = (struct iscsi_login_rsp *) login->rsp; in iscsi_target_do_tx_login_io()
349 hton24(login_rsp->dlength, login->rsp_length); in iscsi_target_do_tx_login_io()
350 memcpy(login_rsp->isid, login->isid, 6); in iscsi_target_do_tx_login_io()
351 login_rsp->tsih = cpu_to_be16(login->tsih); in iscsi_target_do_tx_login_io()
352 login_rsp->itt = login->init_task_tag; in iscsi_target_do_tx_login_io()
361 ntohl(login_rsp->statsn), login->rsp_length); in iscsi_target_do_tx_login_io()
363 padding = ((-login->rsp_length) & 3); in iscsi_target_do_tx_login_io()
370 if (login->login_complete) { in iscsi_target_do_tx_login_io()
379 if (conn->conn_transport->iscsit_put_login_tx(conn, login, in iscsi_target_do_tx_login_io()
380 login->rsp_length + padding) < 0) in iscsi_target_do_tx_login_io()
383 login->rsp_length = 0; in iscsi_target_do_tx_login_io()
388 if (login->login_complete) { in iscsi_target_do_tx_login_io()
502 static void iscsi_target_login_drop(struct iscsi_conn *conn, struct iscsi_login *login) in iscsi_target_login_drop() argument
504 struct iscsi_np *np = login->np; in iscsi_target_login_drop()
505 bool zero_tsih = login->zero_tsih; in iscsi_target_login_drop()
529 struct iscsi_login *login = conn->login; in iscsi_target_do_login_rx() local
530 struct iscsi_np *np = login->np; in iscsi_target_do_login_rx()
534 int rc, zero_tsih = login->zero_tsih; in iscsi_target_do_login_rx()
547 iscsi_target_login_drop(conn, login); in iscsi_target_do_login_rx()
562 iscsi_target_login_drop(conn, login); in iscsi_target_do_login_rx()
578 rc = conn->conn_transport->iscsit_get_login_rx(conn, login); in iscsi_target_do_login_rx()
585 iscsi_target_login_drop(conn, login); in iscsi_target_do_login_rx()
593 rc = iscsi_target_do_login(conn, login); in iscsi_target_do_login_rx()
596 iscsi_target_login_drop(conn, login); in iscsi_target_do_login_rx()
618 struct iscsi_login *login = conn->login; in iscsi_target_do_cleanup() local
619 struct iscsi_np *np = login->np; in iscsi_target_do_cleanup()
629 iscsi_target_login_drop(conn, login); in iscsi_target_do_cleanup()
693 struct iscsi_login *login) in iscsi_target_check_for_existing_instances() argument
695 if (login->checked_for_existing) in iscsi_target_check_for_existing_instances()
698 login->checked_for_existing = 1; in iscsi_target_check_for_existing_instances()
700 if (!login->tsih) in iscsi_target_check_for_existing_instances()
703 return iscsi_login_post_auth_non_zero_tsih(conn, login->cid, in iscsi_target_check_for_existing_instances()
704 login->initial_exp_statsn); in iscsi_target_check_for_existing_instances()
709 struct iscsi_login *login) in iscsi_target_do_authentication() argument
717 login_req = (struct iscsi_login_req *) login->req; in iscsi_target_do_authentication()
718 login_rsp = (struct iscsi_login_rsp *) login->rsp; in iscsi_target_do_authentication()
727 login->req_buf, in iscsi_target_do_authentication()
728 login->rsp_buf, in iscsi_target_do_authentication()
730 &login->rsp_length, in iscsi_target_do_authentication()
740 login->auth_complete = 1; in iscsi_target_do_authentication()
745 login->current_stage = 1; in iscsi_target_do_authentication()
748 conn, login); in iscsi_target_do_authentication()
768 struct iscsi_login *login) in iscsi_target_handle_csg_zero() argument
776 login_req = (struct iscsi_login_req *) login->req; in iscsi_target_handle_csg_zero()
777 login_rsp = (struct iscsi_login_rsp *) login->rsp; in iscsi_target_handle_csg_zero()
787 login->req_buf, in iscsi_target_handle_csg_zero()
794 if (login->auth_complete) { in iscsi_target_handle_csg_zero()
812 if (login->first_request) in iscsi_target_handle_csg_zero()
813 if (iscsi_target_check_first_request(conn, login) < 0) in iscsi_target_handle_csg_zero()
819 login->rsp_buf, in iscsi_target_handle_csg_zero()
820 &login->rsp_length, in iscsi_target_handle_csg_zero()
837 !login->auth_complete) in iscsi_target_handle_csg_zero()
840 if (strncmp(param->value, NONE, 4) && !login->auth_complete) in iscsi_target_handle_csg_zero()
847 login->current_stage = 1; in iscsi_target_handle_csg_zero()
853 return iscsi_target_do_authentication(conn, login); in iscsi_target_handle_csg_zero()
856 static int iscsi_target_handle_csg_one(struct iscsi_conn *conn, struct iscsi_login *login) in iscsi_target_handle_csg_one() argument
863 login_req = (struct iscsi_login_req *) login->req; in iscsi_target_handle_csg_one()
864 login_rsp = (struct iscsi_login_rsp *) login->rsp; in iscsi_target_handle_csg_one()
870 login->req_buf, in iscsi_target_handle_csg_one()
879 if (login->first_request) in iscsi_target_handle_csg_one()
880 if (iscsi_target_check_first_request(conn, login) < 0) in iscsi_target_handle_csg_one()
883 if (iscsi_target_check_for_existing_instances(conn, login) < 0) in iscsi_target_handle_csg_one()
889 login->rsp_buf, in iscsi_target_handle_csg_one()
890 &login->rsp_length, in iscsi_target_handle_csg_one()
898 if (!login->auth_complete && in iscsi_target_handle_csg_one()
917 static int iscsi_target_do_login(struct iscsi_conn *conn, struct iscsi_login *login) in iscsi_target_do_login() argument
923 login_req = (struct iscsi_login_req *) login->req; in iscsi_target_do_login()
924 login_rsp = (struct iscsi_login_rsp *) login->rsp; in iscsi_target_do_login()
937 if (iscsi_target_handle_csg_zero(conn, login) < 0) in iscsi_target_do_login()
942 if (iscsi_target_handle_csg_one(conn, login) < 0) in iscsi_target_do_login()
945 login->tsih = conn->sess->tsih; in iscsi_target_do_login()
946 login->login_complete = 1; in iscsi_target_do_login()
949 login) < 0) in iscsi_target_do_login()
961 if (iscsi_target_do_tx_login_io(conn, login) < 0) in iscsi_target_do_login()
1010 struct iscsi_login *login) in iscsi_target_locate_portal() argument
1026 login->np = np; in iscsi_target_locate_portal()
1028 login_req = (struct iscsi_login_req *) login->req; in iscsi_target_locate_portal()
1037 memcpy(tmpbuf, login->req_buf, payload_length); in iscsi_target_locate_portal()
1080 if (!login->leading_connection) in iscsi_target_locate_portal()
1097 if (!login->leading_connection) in iscsi_target_locate_portal()
1193 if (!login->leading_connection) { in iscsi_target_locate_portal()
1244 struct iscsi_login *login, in iscsi_target_start_negotiation() argument
1249 ret = iscsi_target_do_login(conn, login); in iscsi_target_start_negotiation()
1272 struct iscsi_login *login = conn->conn_login; in iscsi_target_nego_release() local
1274 if (!login) in iscsi_target_nego_release()
1277 kfree(login->req_buf); in iscsi_target_nego_release()
1278 kfree(login->rsp_buf); in iscsi_target_nego_release()
1279 kfree(login); in iscsi_target_nego_release()