Lines Matching refs:np

695 	struct iscsi_np *np,  in iscsi_post_login_handler()  argument
823 struct iscsi_np *np = (struct iscsi_np *) data; in iscsi_handle_login_thread_timeout() local
825 spin_lock_bh(&np->np_thread_lock); in iscsi_handle_login_thread_timeout()
827 &np->np_sockaddr); in iscsi_handle_login_thread_timeout()
829 if (np->np_login_timer_flags & ISCSI_TF_STOP) { in iscsi_handle_login_thread_timeout()
830 spin_unlock_bh(&np->np_thread_lock); in iscsi_handle_login_thread_timeout()
834 if (np->np_thread) in iscsi_handle_login_thread_timeout()
835 send_sig(SIGINT, np->np_thread, 1); in iscsi_handle_login_thread_timeout()
837 np->np_login_timer_flags &= ~ISCSI_TF_RUNNING; in iscsi_handle_login_thread_timeout()
838 spin_unlock_bh(&np->np_thread_lock); in iscsi_handle_login_thread_timeout()
841 static void iscsi_start_login_thread_timer(struct iscsi_np *np) in iscsi_start_login_thread_timer() argument
847 spin_lock_bh(&np->np_thread_lock); in iscsi_start_login_thread_timer()
848 init_timer(&np->np_login_timer); in iscsi_start_login_thread_timer()
849 np->np_login_timer.expires = (get_jiffies_64() + TA_LOGIN_TIMEOUT * HZ); in iscsi_start_login_thread_timer()
850 np->np_login_timer.data = (unsigned long)np; in iscsi_start_login_thread_timer()
851 np->np_login_timer.function = iscsi_handle_login_thread_timeout; in iscsi_start_login_thread_timer()
852 np->np_login_timer_flags &= ~ISCSI_TF_STOP; in iscsi_start_login_thread_timer()
853 np->np_login_timer_flags |= ISCSI_TF_RUNNING; in iscsi_start_login_thread_timer()
854 add_timer(&np->np_login_timer); in iscsi_start_login_thread_timer()
858 spin_unlock_bh(&np->np_thread_lock); in iscsi_start_login_thread_timer()
861 static void iscsi_stop_login_thread_timer(struct iscsi_np *np) in iscsi_stop_login_thread_timer() argument
863 spin_lock_bh(&np->np_thread_lock); in iscsi_stop_login_thread_timer()
864 if (!(np->np_login_timer_flags & ISCSI_TF_RUNNING)) { in iscsi_stop_login_thread_timer()
865 spin_unlock_bh(&np->np_thread_lock); in iscsi_stop_login_thread_timer()
868 np->np_login_timer_flags |= ISCSI_TF_STOP; in iscsi_stop_login_thread_timer()
869 spin_unlock_bh(&np->np_thread_lock); in iscsi_stop_login_thread_timer()
871 del_timer_sync(&np->np_login_timer); in iscsi_stop_login_thread_timer()
873 spin_lock_bh(&np->np_thread_lock); in iscsi_stop_login_thread_timer()
874 np->np_login_timer_flags &= ~ISCSI_TF_RUNNING; in iscsi_stop_login_thread_timer()
875 spin_unlock_bh(&np->np_thread_lock); in iscsi_stop_login_thread_timer()
879 struct iscsi_np *np, in iscsit_setup_np() argument
885 switch (np->np_network_transport) { in iscsit_setup_np()
887 np->np_ip_proto = IPPROTO_TCP; in iscsit_setup_np()
888 np->np_sock_type = SOCK_STREAM; in iscsit_setup_np()
891 np->np_ip_proto = IPPROTO_SCTP; in iscsit_setup_np()
892 np->np_sock_type = SOCK_STREAM; in iscsit_setup_np()
895 np->np_ip_proto = IPPROTO_SCTP; in iscsit_setup_np()
896 np->np_sock_type = SOCK_SEQPACKET; in iscsit_setup_np()
900 np->np_network_transport); in iscsit_setup_np()
904 np->np_ip_proto = IPPROTO_TCP; in iscsit_setup_np()
905 np->np_sock_type = SOCK_STREAM; in iscsit_setup_np()
907 ret = sock_create(sockaddr->ss_family, np->np_sock_type, in iscsit_setup_np()
908 np->np_ip_proto, &sock); in iscsit_setup_np()
913 np->np_socket = sock; in iscsit_setup_np()
918 memcpy(&np->np_sockaddr, sockaddr, in iscsit_setup_np()
930 if (np->np_network_transport == ISCSI_TCP) { in iscsit_setup_np()
957 ret = kernel_bind(sock, (struct sockaddr *)&np->np_sockaddr, len); in iscsit_setup_np()
971 np->np_socket = NULL; in iscsit_setup_np()
977 struct iscsi_np *np, in iscsi_target_setup_login_socket() argument
983 t = iscsit_get_transport(np->np_network_transport); in iscsi_target_setup_login_socket()
987 rc = t->iscsit_setup_np(np, sockaddr); in iscsi_target_setup_login_socket()
993 np->np_transport = t; in iscsi_target_setup_login_socket()
994 np->enabled = true; in iscsi_target_setup_login_socket()
998 int iscsit_accept_np(struct iscsi_np *np, struct iscsi_conn *conn) in iscsit_accept_np() argument
1000 struct socket *new_sock, *sock = np->np_socket; in iscsit_accept_np()
1010 conn->login_family = np->np_sockaddr.ss_family; in iscsit_accept_np()
1012 if (np->np_sockaddr.ss_family == AF_INET6) { in iscsit_accept_np()
1134 struct iscsi_np *np, bool zero_tsih, bool new_sess) in iscsi_target_login_sess_out() argument
1156 iscsi_stop_login_thread_timer(np); in iscsi_target_login_sess_out()
1207 static int __iscsi_target_login_thread(struct iscsi_np *np) in __iscsi_target_login_thread() argument
1220 spin_lock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1221 if (np->np_thread_state == ISCSI_NP_THREAD_RESET) { in __iscsi_target_login_thread()
1222 np->np_thread_state = ISCSI_NP_THREAD_ACTIVE; in __iscsi_target_login_thread()
1223 complete(&np->np_restart_comp); in __iscsi_target_login_thread()
1224 } else if (np->np_thread_state == ISCSI_NP_THREAD_SHUTDOWN) { in __iscsi_target_login_thread()
1225 spin_unlock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1228 np->np_thread_state = ISCSI_NP_THREAD_ACTIVE; in __iscsi_target_login_thread()
1230 spin_unlock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1242 if (iscsit_conn_set_transport(conn, np->np_transport) < 0) { in __iscsi_target_login_thread()
1247 rc = np->np_transport->iscsit_accept_np(np, conn); in __iscsi_target_login_thread()
1249 complete(&np->np_restart_comp); in __iscsi_target_login_thread()
1255 spin_lock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1256 if (np->np_thread_state == ISCSI_NP_THREAD_RESET) { in __iscsi_target_login_thread()
1257 spin_unlock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1258 complete(&np->np_restart_comp); in __iscsi_target_login_thread()
1265 spin_unlock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1279 iscsi_start_login_thread_timer(np); in __iscsi_target_login_thread()
1286 rc = np->np_transport->iscsit_get_login_rx(conn, login); in __iscsi_target_login_thread()
1300 spin_lock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1301 if (np->np_thread_state != ISCSI_NP_THREAD_ACTIVE) { in __iscsi_target_login_thread()
1302 spin_unlock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1304 " active.\n", &np->np_sockaddr); in __iscsi_target_login_thread()
1309 spin_unlock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1311 conn->network_transport = np->np_network_transport; in __iscsi_target_login_thread()
1314 " Portal %pISpc\n", &conn->login_sockaddr, np->np_transport->name, in __iscsi_target_login_thread()
1353 rc = iscsi_target_locate_portal(np, conn, login); in __iscsi_target_login_thread()
1381 iscsi_stop_login_thread_timer(np); in __iscsi_target_login_thread()
1386 iscsi_post_login_handler(np, conn, zero_tsih); in __iscsi_target_login_thread()
1387 iscsit_deaccess_np(np, tpg, tpg_np); in __iscsi_target_login_thread()
1399 iscsi_target_login_sess_out(conn, np, zero_tsih, new_sess); in __iscsi_target_login_thread()
1403 iscsit_deaccess_np(np, tpg, tpg_np); in __iscsi_target_login_thread()
1412 iscsi_stop_login_thread_timer(np); in __iscsi_target_login_thread()
1413 spin_lock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1414 np->np_thread_state = ISCSI_NP_THREAD_EXIT; in __iscsi_target_login_thread()
1415 spin_unlock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1422 struct iscsi_np *np = arg; in iscsi_target_login_thread() local
1428 ret = __iscsi_target_login_thread(np); in iscsi_target_login_thread()