Lines Matching refs:np
750 struct iscsi_np *np, in iscsi_post_login_handler() argument
879 struct iscsi_np *np = (struct iscsi_np *) data; in iscsi_handle_login_thread_timeout() local
881 spin_lock_bh(&np->np_thread_lock); in iscsi_handle_login_thread_timeout()
883 &np->np_sockaddr, np->np_port); in iscsi_handle_login_thread_timeout()
885 if (np->np_login_timer_flags & ISCSI_TF_STOP) { in iscsi_handle_login_thread_timeout()
886 spin_unlock_bh(&np->np_thread_lock); in iscsi_handle_login_thread_timeout()
890 if (np->np_thread) in iscsi_handle_login_thread_timeout()
891 send_sig(SIGINT, np->np_thread, 1); in iscsi_handle_login_thread_timeout()
893 np->np_login_timer_flags &= ~ISCSI_TF_RUNNING; in iscsi_handle_login_thread_timeout()
894 spin_unlock_bh(&np->np_thread_lock); in iscsi_handle_login_thread_timeout()
897 static void iscsi_start_login_thread_timer(struct iscsi_np *np) in iscsi_start_login_thread_timer() argument
903 spin_lock_bh(&np->np_thread_lock); in iscsi_start_login_thread_timer()
904 init_timer(&np->np_login_timer); in iscsi_start_login_thread_timer()
905 np->np_login_timer.expires = (get_jiffies_64() + TA_LOGIN_TIMEOUT * HZ); in iscsi_start_login_thread_timer()
906 np->np_login_timer.data = (unsigned long)np; in iscsi_start_login_thread_timer()
907 np->np_login_timer.function = iscsi_handle_login_thread_timeout; in iscsi_start_login_thread_timer()
908 np->np_login_timer_flags &= ~ISCSI_TF_STOP; in iscsi_start_login_thread_timer()
909 np->np_login_timer_flags |= ISCSI_TF_RUNNING; in iscsi_start_login_thread_timer()
910 add_timer(&np->np_login_timer); in iscsi_start_login_thread_timer()
914 spin_unlock_bh(&np->np_thread_lock); in iscsi_start_login_thread_timer()
917 static void iscsi_stop_login_thread_timer(struct iscsi_np *np) in iscsi_stop_login_thread_timer() argument
919 spin_lock_bh(&np->np_thread_lock); in iscsi_stop_login_thread_timer()
920 if (!(np->np_login_timer_flags & ISCSI_TF_RUNNING)) { in iscsi_stop_login_thread_timer()
921 spin_unlock_bh(&np->np_thread_lock); in iscsi_stop_login_thread_timer()
924 np->np_login_timer_flags |= ISCSI_TF_STOP; in iscsi_stop_login_thread_timer()
925 spin_unlock_bh(&np->np_thread_lock); in iscsi_stop_login_thread_timer()
927 del_timer_sync(&np->np_login_timer); in iscsi_stop_login_thread_timer()
929 spin_lock_bh(&np->np_thread_lock); in iscsi_stop_login_thread_timer()
930 np->np_login_timer_flags &= ~ISCSI_TF_RUNNING; in iscsi_stop_login_thread_timer()
931 spin_unlock_bh(&np->np_thread_lock); in iscsi_stop_login_thread_timer()
935 struct iscsi_np *np, in iscsit_setup_np() argument
941 switch (np->np_network_transport) { in iscsit_setup_np()
943 np->np_ip_proto = IPPROTO_TCP; in iscsit_setup_np()
944 np->np_sock_type = SOCK_STREAM; in iscsit_setup_np()
947 np->np_ip_proto = IPPROTO_SCTP; in iscsit_setup_np()
948 np->np_sock_type = SOCK_STREAM; in iscsit_setup_np()
951 np->np_ip_proto = IPPROTO_SCTP; in iscsit_setup_np()
952 np->np_sock_type = SOCK_SEQPACKET; in iscsit_setup_np()
956 np->np_network_transport); in iscsit_setup_np()
960 np->np_ip_proto = IPPROTO_TCP; in iscsit_setup_np()
961 np->np_sock_type = SOCK_STREAM; in iscsit_setup_np()
963 ret = sock_create(sockaddr->ss_family, np->np_sock_type, in iscsit_setup_np()
964 np->np_ip_proto, &sock); in iscsit_setup_np()
969 np->np_socket = sock; in iscsit_setup_np()
974 memcpy(&np->np_sockaddr, sockaddr, in iscsit_setup_np()
986 if (np->np_network_transport == ISCSI_TCP) { in iscsit_setup_np()
1013 ret = kernel_bind(sock, (struct sockaddr *)&np->np_sockaddr, len); in iscsit_setup_np()
1027 np->np_socket = NULL; in iscsit_setup_np()
1033 struct iscsi_np *np, in iscsi_target_setup_login_socket() argument
1039 t = iscsit_get_transport(np->np_network_transport); in iscsi_target_setup_login_socket()
1043 rc = t->iscsit_setup_np(np, sockaddr); in iscsi_target_setup_login_socket()
1049 np->np_transport = t; in iscsi_target_setup_login_socket()
1050 np->enabled = true; in iscsi_target_setup_login_socket()
1054 int iscsit_accept_np(struct iscsi_np *np, struct iscsi_conn *conn) in iscsit_accept_np() argument
1056 struct socket *new_sock, *sock = np->np_socket; in iscsit_accept_np()
1066 conn->login_family = np->np_sockaddr.ss_family; in iscsit_accept_np()
1068 if (np->np_sockaddr.ss_family == AF_INET6) { in iscsit_accept_np()
1192 struct iscsi_np *np, bool zero_tsih, bool new_sess) in iscsi_target_login_sess_out() argument
1214 iscsi_stop_login_thread_timer(np); in iscsi_target_login_sess_out()
1265 static int __iscsi_target_login_thread(struct iscsi_np *np) in __iscsi_target_login_thread() argument
1278 spin_lock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1279 if (np->np_thread_state == ISCSI_NP_THREAD_RESET) { in __iscsi_target_login_thread()
1280 np->np_thread_state = ISCSI_NP_THREAD_ACTIVE; in __iscsi_target_login_thread()
1281 complete(&np->np_restart_comp); in __iscsi_target_login_thread()
1282 } else if (np->np_thread_state == ISCSI_NP_THREAD_SHUTDOWN) { in __iscsi_target_login_thread()
1283 spin_unlock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1286 np->np_thread_state = ISCSI_NP_THREAD_ACTIVE; in __iscsi_target_login_thread()
1288 spin_unlock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1300 if (iscsit_conn_set_transport(conn, np->np_transport) < 0) { in __iscsi_target_login_thread()
1305 rc = np->np_transport->iscsit_accept_np(np, conn); in __iscsi_target_login_thread()
1307 complete(&np->np_restart_comp); in __iscsi_target_login_thread()
1313 spin_lock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1314 if (np->np_thread_state == ISCSI_NP_THREAD_RESET) { in __iscsi_target_login_thread()
1315 spin_unlock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1316 complete(&np->np_restart_comp); in __iscsi_target_login_thread()
1323 spin_unlock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1337 iscsi_start_login_thread_timer(np); in __iscsi_target_login_thread()
1344 rc = np->np_transport->iscsit_get_login_rx(conn, login); in __iscsi_target_login_thread()
1358 spin_lock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1359 if (np->np_thread_state != ISCSI_NP_THREAD_ACTIVE) { in __iscsi_target_login_thread()
1360 spin_unlock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1362 " active.\n", &np->np_sockaddr, np->np_port); in __iscsi_target_login_thread()
1367 spin_unlock_bh(&np->np_thread_lock); 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()
1411 rc = iscsi_target_locate_portal(np, conn, login); in __iscsi_target_login_thread()
1439 iscsi_stop_login_thread_timer(np); in __iscsi_target_login_thread()
1444 iscsi_post_login_handler(np, conn, zero_tsih); in __iscsi_target_login_thread()
1445 iscsit_deaccess_np(np, tpg, tpg_np); in __iscsi_target_login_thread()
1457 iscsi_target_login_sess_out(conn, np, zero_tsih, new_sess); in __iscsi_target_login_thread()
1461 iscsit_deaccess_np(np, tpg, tpg_np); in __iscsi_target_login_thread()
1470 iscsi_stop_login_thread_timer(np); in __iscsi_target_login_thread()
1471 spin_lock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1472 np->np_thread_state = ISCSI_NP_THREAD_EXIT; in __iscsi_target_login_thread()
1473 spin_unlock_bh(&np->np_thread_lock); in __iscsi_target_login_thread()
1480 struct iscsi_np *np = arg; in iscsi_target_login_thread() local
1486 ret = __iscsi_target_login_thread(np); in iscsi_target_login_thread()