Lines Matching refs:conn
41 static struct iscsi_login *iscsi_login_init_conn(struct iscsi_conn *conn) in iscsi_login_init_conn() argument
50 conn->login = login; in iscsi_login_init_conn()
51 login->conn = conn; in iscsi_login_init_conn()
66 conn->conn_ops = kzalloc(sizeof(struct iscsi_conn_ops), GFP_KERNEL); in iscsi_login_init_conn()
67 if (!conn->conn_ops) { in iscsi_login_init_conn()
73 init_waitqueue_head(&conn->queues_wq); in iscsi_login_init_conn()
74 INIT_LIST_HEAD(&conn->conn_list); in iscsi_login_init_conn()
75 INIT_LIST_HEAD(&conn->conn_cmd_list); in iscsi_login_init_conn()
76 INIT_LIST_HEAD(&conn->immed_queue_list); in iscsi_login_init_conn()
77 INIT_LIST_HEAD(&conn->response_queue_list); in iscsi_login_init_conn()
78 init_completion(&conn->conn_post_wait_comp); in iscsi_login_init_conn()
79 init_completion(&conn->conn_wait_comp); in iscsi_login_init_conn()
80 init_completion(&conn->conn_wait_rcfr_comp); in iscsi_login_init_conn()
81 init_completion(&conn->conn_waiting_on_uc_comp); in iscsi_login_init_conn()
82 init_completion(&conn->conn_logout_comp); in iscsi_login_init_conn()
83 init_completion(&conn->rx_half_close_comp); in iscsi_login_init_conn()
84 init_completion(&conn->tx_half_close_comp); in iscsi_login_init_conn()
85 init_completion(&conn->rx_login_comp); in iscsi_login_init_conn()
86 spin_lock_init(&conn->cmd_lock); in iscsi_login_init_conn()
87 spin_lock_init(&conn->conn_usage_lock); in iscsi_login_init_conn()
88 spin_lock_init(&conn->immed_queue_lock); in iscsi_login_init_conn()
89 spin_lock_init(&conn->nopin_timer_lock); in iscsi_login_init_conn()
90 spin_lock_init(&conn->response_queue_lock); in iscsi_login_init_conn()
91 spin_lock_init(&conn->state_lock); in iscsi_login_init_conn()
93 if (!zalloc_cpumask_var(&conn->conn_cpumask, GFP_KERNEL)) { in iscsi_login_init_conn()
97 conn->conn_login = login; in iscsi_login_init_conn()
102 kfree(conn->conn_ops); in iscsi_login_init_conn()
116 int iscsi_login_setup_crypto(struct iscsi_conn *conn) in iscsi_login_setup_crypto() argument
123 conn->conn_rx_hash.flags = 0; in iscsi_login_setup_crypto()
124 conn->conn_rx_hash.tfm = crypto_alloc_hash("crc32c", 0, in iscsi_login_setup_crypto()
126 if (IS_ERR(conn->conn_rx_hash.tfm)) { in iscsi_login_setup_crypto()
131 conn->conn_tx_hash.flags = 0; in iscsi_login_setup_crypto()
132 conn->conn_tx_hash.tfm = crypto_alloc_hash("crc32c", 0, in iscsi_login_setup_crypto()
134 if (IS_ERR(conn->conn_tx_hash.tfm)) { in iscsi_login_setup_crypto()
136 crypto_free_hash(conn->conn_rx_hash.tfm); in iscsi_login_setup_crypto()
144 struct iscsi_conn *conn, in iscsi_login_check_initiator_version() argument
152 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, in iscsi_login_check_initiator_version()
160 int iscsi_check_for_session_reinstatement(struct iscsi_conn *conn) in iscsi_check_for_session_reinstatement() argument
164 struct iscsi_portal_group *tpg = conn->tpg; in iscsi_check_for_session_reinstatement()
170 INITIATORNAME, conn->param_list); in iscsi_check_for_session_reinstatement()
172 SESSIONTYPE, conn->param_list); in iscsi_check_for_session_reinstatement()
174 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, in iscsi_check_for_session_reinstatement()
193 if (!memcmp(sess_p->isid, conn->sess->isid, 6) && in iscsi_check_for_session_reinstatement()
236 struct iscsi_conn *conn, in iscsi_login_set_conn_values() argument
239 conn->sess = sess; in iscsi_login_set_conn_values()
240 conn->cid = be16_to_cpu(cid); in iscsi_login_set_conn_values()
245 get_random_bytes(&conn->stat_sn, sizeof(u32)); in iscsi_login_set_conn_values()
248 conn->auth_id = iscsit_global->auth_id++; in iscsi_login_set_conn_values()
253 struct iscsi_conn *conn, in iscsi_change_param_sprintf() argument
265 if (iscsi_change_param_value(buf, conn->param_list, 0) < 0) { in iscsi_change_param_sprintf()
266 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, in iscsi_change_param_sprintf()
279 struct iscsi_conn *conn, in iscsi_login_zero_tsih_s1() argument
288 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, in iscsi_login_zero_tsih_s1()
294 iscsi_login_set_conn_values(sess, conn, pdu->cid); in iscsi_login_zero_tsih_s1()
323 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, in iscsi_login_zero_tsih_s1()
338 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, in iscsi_login_zero_tsih_s1()
348 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, in iscsi_login_zero_tsih_s1()
359 struct iscsi_conn *conn) in iscsi_login_zero_tsih_s2() argument
362 struct iscsi_session *sess = conn->sess; in iscsi_login_zero_tsih_s2()
365 sess->tpg = conn->tpg; in iscsi_login_zero_tsih_s2()
378 if (iscsi_copy_param_list(&conn->param_list, in iscsi_login_zero_tsih_s2()
379 conn->tpg->param_list, 1) < 0) { in iscsi_login_zero_tsih_s2()
380 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, in iscsi_login_zero_tsih_s2()
385 if (conn->conn_transport->transport_type == ISCSI_INFINIBAND) in iscsi_login_zero_tsih_s2()
388 iscsi_set_keys_to_negotiate(conn->param_list, iser); in iscsi_login_zero_tsih_s2()
392 conn->param_list); in iscsi_login_zero_tsih_s2()
403 if (iscsi_change_param_sprintf(conn, "TargetPortalGroupTag=%hu", sess->tpg->tpgt)) in iscsi_login_zero_tsih_s2()
411 if (iscsi_change_param_sprintf(conn, "ErrorRecoveryLevel=%d", na->default_erl)) in iscsi_login_zero_tsih_s2()
414 if (iscsi_login_disable_FIM_keys(conn->param_list, conn) < 0) in iscsi_login_zero_tsih_s2()
424 if (iscsi_change_param_sprintf(conn, "RDMAExtensions=Yes")) in iscsi_login_zero_tsih_s2()
432 conn->param_list); in iscsi_login_zero_tsih_s2()
434 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, in iscsi_login_zero_tsih_s2()
440 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, in iscsi_login_zero_tsih_s2()
456 if (iscsi_change_param_sprintf(conn, "MaxRecvDataSegmentLength=%lu\n", mrdsl)) in iscsi_login_zero_tsih_s2()
467 if (iscsi_change_param_sprintf(conn, "ImmediateData=No")) in iscsi_login_zero_tsih_s2()
470 if (iscsi_change_param_sprintf(conn, "InitialR2T=Yes")) in iscsi_login_zero_tsih_s2()
487 struct iscsi_conn *conn) in iscsi_login_disable_FIM_keys() argument
495 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, in iscsi_login_disable_FIM_keys()
505 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, in iscsi_login_disable_FIM_keys()
515 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, in iscsi_login_disable_FIM_keys()
525 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, in iscsi_login_disable_FIM_keys()
535 struct iscsi_conn *conn, in iscsi_login_non_zero_tsih_s1() argument
540 iscsi_login_set_conn_values(NULL, conn, pdu->cid); in iscsi_login_non_zero_tsih_s1()
548 struct iscsi_conn *conn, in iscsi_login_non_zero_tsih_s2() argument
551 struct iscsi_portal_group *tpg = conn->tpg; in iscsi_login_non_zero_tsih_s2()
583 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, in iscsi_login_non_zero_tsih_s2()
597 iscsi_login_set_conn_values(sess, conn, pdu->cid); in iscsi_login_non_zero_tsih_s2()
599 if (iscsi_copy_param_list(&conn->param_list, in iscsi_login_non_zero_tsih_s2()
600 conn->tpg->param_list, 0) < 0) { in iscsi_login_non_zero_tsih_s2()
601 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, in iscsi_login_non_zero_tsih_s2()
606 if (conn->conn_transport->transport_type == ISCSI_INFINIBAND) in iscsi_login_non_zero_tsih_s2()
609 iscsi_set_keys_to_negotiate(conn->param_list, iser); in iscsi_login_non_zero_tsih_s2()
617 if (iscsi_change_param_sprintf(conn, "TargetPortalGroupTag=%hu", sess->tpg->tpgt)) in iscsi_login_non_zero_tsih_s2()
620 return iscsi_login_disable_FIM_keys(conn->param_list, conn); in iscsi_login_non_zero_tsih_s2()
624 struct iscsi_conn *conn, in iscsi_login_post_auth_non_zero_tsih() argument
630 struct iscsi_session *sess = conn->sess; in iscsi_login_post_auth_non_zero_tsih()
664 conn->cid); in iscsi_login_post_auth_non_zero_tsih()
682 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, in iscsi_login_post_auth_non_zero_tsih()
690 static void iscsi_post_login_start_timers(struct iscsi_conn *conn) in iscsi_post_login_start_timers() argument
692 struct iscsi_session *sess = conn->sess; in iscsi_post_login_start_timers()
696 if (conn->conn_transport->transport_type == ISCSI_INFINIBAND) in iscsi_post_login_start_timers()
700 iscsit_start_nopin_timer(conn); in iscsi_post_login_start_timers()
703 int iscsit_start_kthreads(struct iscsi_conn *conn) in iscsit_start_kthreads() argument
708 conn->bitmap_id = bitmap_find_free_region(iscsit_global->ts_bitmap, in iscsit_start_kthreads()
712 if (conn->bitmap_id < 0) { in iscsit_start_kthreads()
718 conn->tx_thread = kthread_run(iscsi_target_tx_thread, conn, in iscsit_start_kthreads()
720 if (IS_ERR(conn->tx_thread)) { in iscsit_start_kthreads()
722 ret = PTR_ERR(conn->tx_thread); in iscsit_start_kthreads()
725 conn->tx_thread_active = true; in iscsit_start_kthreads()
727 conn->rx_thread = kthread_run(iscsi_target_rx_thread, conn, in iscsit_start_kthreads()
729 if (IS_ERR(conn->rx_thread)) { in iscsit_start_kthreads()
731 ret = PTR_ERR(conn->rx_thread); in iscsit_start_kthreads()
734 conn->rx_thread_active = true; in iscsit_start_kthreads()
738 send_sig(SIGINT, conn->tx_thread, 1); in iscsit_start_kthreads()
739 kthread_stop(conn->tx_thread); in iscsit_start_kthreads()
740 conn->tx_thread_active = false; in iscsit_start_kthreads()
743 bitmap_release_region(iscsit_global->ts_bitmap, conn->bitmap_id, in iscsit_start_kthreads()
751 struct iscsi_conn *conn, in iscsi_post_login_handler() argument
755 struct iscsi_session *sess = conn->sess; in iscsi_post_login_handler()
760 iscsit_inc_conn_usage_count(conn); in iscsi_post_login_handler()
762 iscsit_collect_login_stats(conn, ISCSI_STATUS_CLS_SUCCESS, in iscsi_post_login_handler()
766 conn->conn_state = TARG_CONN_STATE_LOGGED_IN; in iscsi_post_login_handler()
768 iscsi_set_connection_parameters(conn->conn_ops, conn->param_list); in iscsi_post_login_handler()
769 iscsit_set_sync_and_steering_values(conn); in iscsi_post_login_handler()
775 conn->param_list, 0); in iscsi_post_login_handler()
776 iscsi_release_param_list(conn->param_list); in iscsi_post_login_handler()
777 conn->param_list = NULL; in iscsi_post_login_handler()
789 " %s:%hu,%hu\n", conn->cid, conn->login_ip, in iscsi_post_login_handler()
790 conn->local_ip, conn->local_port, tpg->tpgt); in iscsi_post_login_handler()
792 list_add_tail(&conn->conn_list, &sess->sess_conn_list); in iscsi_post_login_handler()
799 iscsi_post_login_start_timers(conn); in iscsi_post_login_handler()
804 iscsit_thread_get_cpumask(conn); in iscsi_post_login_handler()
805 conn->conn_rx_reset_cpumask = 1; in iscsi_post_login_handler()
806 conn->conn_tx_reset_cpumask = 1; in iscsi_post_login_handler()
811 complete(&conn->rx_login_comp); in iscsi_post_login_handler()
812 iscsit_dec_conn_usage_count(conn); in iscsi_post_login_handler()
823 iscsi_set_session_parameters(sess->sess_ops, conn->param_list, 1); in iscsi_post_login_handler()
824 iscsi_release_param_list(conn->param_list); in iscsi_post_login_handler()
825 conn->param_list = NULL; in iscsi_post_login_handler()
836 conn->cid, conn->login_ip, conn->local_ip, conn->local_port, in iscsi_post_login_handler()
840 list_add_tail(&conn->conn_list, &sess->sess_conn_list); in iscsi_post_login_handler()
861 iscsi_post_login_start_timers(conn); in iscsi_post_login_handler()
866 iscsit_thread_get_cpumask(conn); in iscsi_post_login_handler()
867 conn->conn_rx_reset_cpumask = 1; in iscsi_post_login_handler()
868 conn->conn_tx_reset_cpumask = 1; in iscsi_post_login_handler()
873 complete(&conn->rx_login_comp); in iscsi_post_login_handler()
874 iscsit_dec_conn_usage_count(conn); in iscsi_post_login_handler()
1054 int iscsit_accept_np(struct iscsi_np *np, struct iscsi_conn *conn) in iscsit_accept_np() argument
1065 conn->sock = new_sock; in iscsit_accept_np()
1066 conn->login_family = np->np_sockaddr.ss_family; in iscsit_accept_np()
1071 rc = conn->sock->ops->getname(conn->sock, in iscsit_accept_np()
1075 snprintf(conn->login_ip, sizeof(conn->login_ip), "[%pI6c]", in iscsit_accept_np()
1078 snprintf(conn->login_ip, sizeof(conn->login_ip), "%pI4", in iscsit_accept_np()
1080 conn->login_port = ntohs(sock_in6.sin6_port); in iscsit_accept_np()
1083 rc = conn->sock->ops->getname(conn->sock, in iscsit_accept_np()
1087 snprintf(conn->local_ip, sizeof(conn->local_ip), "[%pI6c]", in iscsit_accept_np()
1090 snprintf(conn->local_ip, sizeof(conn->local_ip), "%pI4", in iscsit_accept_np()
1092 conn->local_port = ntohs(sock_in6.sin6_port); in iscsit_accept_np()
1097 rc = conn->sock->ops->getname(conn->sock, in iscsit_accept_np()
1100 sprintf(conn->login_ip, "%pI4", in iscsit_accept_np()
1102 conn->login_port = ntohs(sock_in.sin_port); in iscsit_accept_np()
1105 rc = conn->sock->ops->getname(conn->sock, in iscsit_accept_np()
1108 sprintf(conn->local_ip, "%pI4", in iscsit_accept_np()
1110 conn->local_port = ntohs(sock_in.sin_port); in iscsit_accept_np()
1117 int iscsit_get_login_rx(struct iscsi_conn *conn, struct iscsi_login *login) in iscsit_get_login_rx() argument
1122 if (iscsi_login_rx_data(conn, login->req, ISCSI_HDR_LEN) < 0) in iscsit_get_login_rx()
1151 if (iscsi_target_check_login_request(conn, login) < 0) in iscsit_get_login_rx()
1155 if (iscsi_login_rx_data(conn, login->req_buf, in iscsit_get_login_rx()
1162 int iscsit_put_login_tx(struct iscsi_conn *conn, struct iscsi_login *login, in iscsit_put_login_tx() argument
1165 if (iscsi_login_tx_data(conn, login->rsp, login->rsp_buf, length) < 0) in iscsit_put_login_tx()
1172 iscsit_conn_set_transport(struct iscsi_conn *conn, struct iscsit_transport *t) in iscsit_conn_set_transport() argument
1177 conn->conn_transport = t; in iscsit_conn_set_transport()
1187 conn->conn_transport = t; in iscsit_conn_set_transport()
1191 void iscsi_target_login_sess_out(struct iscsi_conn *conn, in iscsi_target_login_sess_out() argument
1198 iscsit_collect_login_stats(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, in iscsi_target_login_sess_out()
1200 if (!zero_tsih || !conn->sess) in iscsi_target_login_sess_out()
1202 if (conn->sess->se_sess) in iscsi_target_login_sess_out()
1203 transport_free_session(conn->sess->se_sess); in iscsi_target_login_sess_out()
1204 if (conn->sess->session_index != 0) { in iscsi_target_login_sess_out()
1206 idr_remove(&sess_idr, conn->sess->session_index); in iscsi_target_login_sess_out()
1209 kfree(conn->sess->sess_ops); in iscsi_target_login_sess_out()
1210 kfree(conn->sess); in iscsi_target_login_sess_out()
1211 conn->sess = NULL; in iscsi_target_login_sess_out()
1219 if (!zero_tsih && conn->sess) { in iscsi_target_login_sess_out()
1220 spin_lock_bh(&conn->sess->conn_lock); in iscsi_target_login_sess_out()
1221 if (conn->sess->session_state == TARG_SESS_STATE_FAILED) { in iscsi_target_login_sess_out()
1223 &conn->tpg->tpg_se_tpg; in iscsi_target_login_sess_out()
1225 atomic_set(&conn->sess->session_continuation, 0); in iscsi_target_login_sess_out()
1226 spin_unlock_bh(&conn->sess->conn_lock); in iscsi_target_login_sess_out()
1228 iscsit_start_time2retain_handler(conn->sess); in iscsi_target_login_sess_out()
1231 spin_unlock_bh(&conn->sess->conn_lock); in iscsi_target_login_sess_out()
1232 iscsit_dec_session_usage_count(conn->sess); in iscsi_target_login_sess_out()
1235 if (!IS_ERR(conn->conn_rx_hash.tfm)) in iscsi_target_login_sess_out()
1236 crypto_free_hash(conn->conn_rx_hash.tfm); in iscsi_target_login_sess_out()
1237 if (!IS_ERR(conn->conn_tx_hash.tfm)) in iscsi_target_login_sess_out()
1238 crypto_free_hash(conn->conn_tx_hash.tfm); in iscsi_target_login_sess_out()
1240 free_cpumask_var(conn->conn_cpumask); in iscsi_target_login_sess_out()
1242 kfree(conn->conn_ops); in iscsi_target_login_sess_out()
1244 if (conn->param_list) { in iscsi_target_login_sess_out()
1245 iscsi_release_param_list(conn->param_list); in iscsi_target_login_sess_out()
1246 conn->param_list = NULL; in iscsi_target_login_sess_out()
1248 iscsi_target_nego_release(conn); in iscsi_target_login_sess_out()
1250 if (conn->sock) { in iscsi_target_login_sess_out()
1251 sock_release(conn->sock); in iscsi_target_login_sess_out()
1252 conn->sock = NULL; in iscsi_target_login_sess_out()
1255 if (conn->conn_transport->iscsit_wait_conn) in iscsi_target_login_sess_out()
1256 conn->conn_transport->iscsit_wait_conn(conn); in iscsi_target_login_sess_out()
1258 if (conn->conn_transport->iscsit_free_conn) in iscsi_target_login_sess_out()
1259 conn->conn_transport->iscsit_free_conn(conn); in iscsi_target_login_sess_out()
1261 iscsit_put_transport(conn->conn_transport); in iscsi_target_login_sess_out()
1262 kfree(conn); in iscsi_target_login_sess_out()
1269 struct iscsi_conn *conn = NULL; in __iscsi_target_login_thread() local
1290 conn = kzalloc(sizeof(struct iscsi_conn), GFP_KERNEL); in __iscsi_target_login_thread()
1291 if (!conn) { in __iscsi_target_login_thread()
1298 conn->conn_state = TARG_CONN_STATE_FREE; in __iscsi_target_login_thread()
1300 if (iscsit_conn_set_transport(conn, np->np_transport) < 0) { in __iscsi_target_login_thread()
1301 kfree(conn); in __iscsi_target_login_thread()
1305 rc = np->np_transport->iscsit_accept_np(np, conn); in __iscsi_target_login_thread()
1308 iscsit_put_transport(conn->conn_transport); in __iscsi_target_login_thread()
1309 kfree(conn); in __iscsi_target_login_thread()
1310 conn = NULL; in __iscsi_target_login_thread()
1317 iscsit_put_transport(conn->conn_transport); in __iscsi_target_login_thread()
1318 kfree(conn); in __iscsi_target_login_thread()
1319 conn = NULL; in __iscsi_target_login_thread()
1324 iscsit_put_transport(conn->conn_transport); in __iscsi_target_login_thread()
1325 kfree(conn); in __iscsi_target_login_thread()
1326 conn = NULL; in __iscsi_target_login_thread()
1332 login = iscsi_login_init_conn(conn); in __iscsi_target_login_thread()
1340 conn->conn_state = TARG_CONN_STATE_XPT_UP; in __iscsi_target_login_thread()
1344 rc = np->np_transport->iscsit_get_login_rx(conn, login); in __iscsi_target_login_thread()
1356 conn->login_itt = pdu->itt; in __iscsi_target_login_thread()
1363 iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, in __iscsi_target_login_thread()
1369 conn->network_transport = np->np_network_transport; in __iscsi_target_login_thread()
1372 " Portal %s:%hu\n", conn->login_ip, np->np_transport->name, in __iscsi_target_login_thread()
1373 conn->local_ip, conn->local_port); in __iscsi_target_login_thread()
1376 conn->conn_state = TARG_CONN_STATE_IN_LOGIN; in __iscsi_target_login_thread()
1378 if (iscsi_login_check_initiator_version(conn, pdu->max_version, in __iscsi_target_login_thread()
1389 if (iscsi_login_zero_tsih_s1(conn, buffer) < 0) in __iscsi_target_login_thread()
1399 if (iscsi_login_non_zero_tsih_s1(conn, buffer) < 0) in __iscsi_target_login_thread()
1411 rc = iscsi_target_locate_portal(np, conn, login); in __iscsi_target_login_thread()
1413 tpg = conn->tpg; in __iscsi_target_login_thread()
1418 conn->sess->se_sess->sup_prot_ops = in __iscsi_target_login_thread()
1419 conn->conn_transport->iscsit_get_sup_prot_ops(conn); in __iscsi_target_login_thread()
1421 tpg = conn->tpg; in __iscsi_target_login_thread()
1428 if (iscsi_login_zero_tsih_s2(conn) < 0) in __iscsi_target_login_thread()
1431 if (iscsi_login_non_zero_tsih_s2(conn, buffer) < 0) in __iscsi_target_login_thread()
1435 ret = iscsi_target_start_negotiation(login, conn); in __iscsi_target_login_thread()
1442 tpg_np = conn->tpg_np; in __iscsi_target_login_thread()
1444 iscsi_post_login_handler(np, conn, zero_tsih); in __iscsi_target_login_thread()
1456 tpg_np = conn->tpg_np; in __iscsi_target_login_thread()
1457 iscsi_target_login_sess_out(conn, np, zero_tsih, new_sess); in __iscsi_target_login_thread()