Lines Matching refs:isc

469 	struct icl_soft_conn *isc;  in icl_pdu_receive_data_segment()  local
473 isc = (struct icl_soft_conn *)request->ip_conn; in icl_pdu_receive_data_segment()
476 isc->receive_len = 0; in icl_pdu_receive_data_segment()
525 isc->receive_len = icl_pdu_data_segment_receive_len(request); in icl_pdu_receive_data_segment()
565 icl_conn_receive_pdu(struct icl_soft_conn *isc, struct mbuf **r, size_t *rs) in icl_conn_receive_pdu() argument
567 struct icl_conn *ic = &isc->ic; in icl_conn_receive_pdu()
573 if (isc->receive_state == ICL_CONN_STATE_BHS) { in icl_conn_receive_pdu()
574 KASSERT(isc->receive_pdu == NULL, in icl_conn_receive_pdu()
583 isc->receive_pdu = request; in icl_conn_receive_pdu()
585 KASSERT(isc->receive_pdu != NULL, in icl_conn_receive_pdu()
587 request = isc->receive_pdu; in icl_conn_receive_pdu()
590 switch (isc->receive_state) { in icl_conn_receive_pdu()
610 isc->receive_state = ICL_CONN_STATE_AHS; in icl_conn_receive_pdu()
611 isc->receive_len = icl_pdu_ahs_length(request); in icl_conn_receive_pdu()
617 isc->receive_state = ICL_CONN_STATE_HEADER_DIGEST; in icl_conn_receive_pdu()
619 isc->receive_len = 0; in icl_conn_receive_pdu()
621 isc->receive_len = ISCSI_HEADER_DIGEST_SIZE; in icl_conn_receive_pdu()
633 isc->receive_state = ICL_CONN_STATE_DATA; in icl_conn_receive_pdu()
634 isc->receive_len = icl_pdu_data_segment_receive_len(request); in icl_conn_receive_pdu()
650 isc->receive_state = ICL_CONN_STATE_DATA_DIGEST; in icl_conn_receive_pdu()
652 isc->receive_len = 0; in icl_conn_receive_pdu()
654 isc->receive_len = ISCSI_DATA_DIGEST_SIZE; in icl_conn_receive_pdu()
670 isc->receive_state = ICL_CONN_STATE_BHS; in icl_conn_receive_pdu()
671 isc->receive_len = sizeof(struct iscsi_bhs); in icl_conn_receive_pdu()
672 isc->receive_pdu = NULL; in icl_conn_receive_pdu()
676 panic("invalid receive_state %d\n", isc->receive_state); in icl_conn_receive_pdu()
691 icl_conn_receive_pdus(struct icl_soft_conn *isc, struct mbuf **r, size_t *rs) in icl_conn_receive_pdus() argument
693 struct icl_conn *ic = &isc->ic; in icl_conn_receive_pdus()
704 if (*rs < isc->receive_len) { in icl_conn_receive_pdus()
707 *rs, isc->receive_len); in icl_conn_receive_pdus()
712 response = icl_conn_receive_pdu(isc, r, rs); in icl_conn_receive_pdus()
732 struct icl_soft_conn *isc = arg; in icl_receive_thread() local
733 struct icl_conn *ic = &isc->ic; in icl_receive_thread()
756 if (read + available < isc->receive_len) { in icl_receive_thread()
757 so->so_rcv.sb_lowat = isc->receive_len - read; in icl_receive_thread()
758 cv_wait(&isc->receive_cv, SOCKBUF_MTX(&so->so_rcv)); in icl_receive_thread()
793 icl_conn_receive_pdus(isc, &r, &read); in icl_receive_thread()
800 isc->receive_running = false; in icl_receive_thread()
801 cv_signal(&isc->send_cv); in icl_receive_thread()
809 struct icl_soft_conn *isc; in icl_soupcall_receive() local
814 isc = arg; in icl_soupcall_receive()
815 cv_signal(&isc->receive_cv); in icl_soupcall_receive()
877 icl_conn_send_pdus(struct icl_soft_conn *isc, struct icl_pdu_stailq *queue) in icl_conn_send_pdus() argument
879 struct icl_conn *ic = &isc->ic; in icl_conn_send_pdus()
901 isc->check_send_space = false; in icl_conn_send_pdus()
1004 struct icl_soft_conn *isc; in icl_send_thread() local
1008 isc = arg; in icl_send_thread()
1009 ic = &isc->ic; in icl_send_thread()
1021 if (STAILQ_EMPTY(&queue) || isc->check_send_space) in icl_send_thread()
1022 STAILQ_CONCAT(&queue, &isc->to_send); in icl_send_thread()
1025 icl_conn_send_pdus(isc, &queue); in icl_send_thread()
1032 if (isc->check_send_space) in icl_send_thread()
1040 !STAILQ_EMPTY(&isc->to_send)) in icl_send_thread()
1056 cv_wait(&isc->send_cv, ic->ic_lock); in icl_send_thread()
1063 STAILQ_CONCAT(&isc->to_send, &queue); in icl_send_thread()
1065 isc->send_running = false; in icl_send_thread()
1066 cv_signal(&isc->send_cv); in icl_send_thread()
1074 struct icl_soft_conn *isc; in icl_soupcall_send() local
1080 isc = arg; in icl_soupcall_send()
1081 ic = &isc->ic; in icl_soupcall_send()
1084 isc->check_send_space = true; in icl_soupcall_send()
1087 cv_signal(&isc->send_cv); in icl_soupcall_send()
1321 struct icl_soft_conn *isc = (struct icl_soft_conn *)ic; in icl_soft_conn_pdu_queue_cb() local
1334 if (!STAILQ_EMPTY(&isc->to_send)) { in icl_soft_conn_pdu_queue_cb()
1335 STAILQ_INSERT_TAIL(&isc->to_send, ip, ip_next); in icl_soft_conn_pdu_queue_cb()
1344 STAILQ_INSERT_TAIL(&isc->to_send, ip, ip_next); in icl_soft_conn_pdu_queue_cb()
1345 cv_signal(&isc->send_cv); in icl_soft_conn_pdu_queue_cb()
1351 struct icl_soft_conn *isc; in icl_soft_new_conn() local
1356 isc = (struct icl_soft_conn *)kobj_create(&icl_soft_class, M_ICL_SOFT, in icl_soft_new_conn()
1359 STAILQ_INIT(&isc->to_send); in icl_soft_new_conn()
1360 cv_init(&isc->send_cv, "icl_tx"); in icl_soft_new_conn()
1361 cv_init(&isc->receive_cv, "icl_rx"); in icl_soft_new_conn()
1363 ic = &isc->ic; in icl_soft_new_conn()
1378 struct icl_soft_conn *isc = (struct icl_soft_conn *)ic; in icl_soft_conn_free() local
1385 cv_destroy(&isc->send_cv); in icl_soft_conn_free()
1386 cv_destroy(&isc->receive_cv); in icl_soft_conn_free()
1387 kobj_delete((struct kobj *)isc, M_ICL_SOFT); in icl_soft_conn_free()
1394 struct icl_soft_conn *isc = (struct icl_soft_conn *)ic; in icl_conn_start() local
1409 isc->receive_state = ICL_CONN_STATE_BHS; in icl_conn_start()
1410 isc->receive_len = sizeof(struct iscsi_bhs); in icl_conn_start()
1467 soupcall_set(ic->ic_socket, SO_SND, icl_soupcall_send, isc); in icl_conn_start()
1470 soupcall_set(ic->ic_socket, SO_RCV, icl_soupcall_receive, isc); in icl_conn_start()
1477 isc->send_running = isc->receive_running = true; in icl_conn_start()
1484 isc->send_running = isc->receive_running = false; in icl_conn_start()
1485 cv_signal(&isc->send_cv); in icl_conn_start()
1495 isc->receive_running = false; in icl_conn_start()
1496 cv_signal(&isc->send_cv); in icl_conn_start()
1571 struct icl_soft_conn *isc = (struct icl_soft_conn *)ic; in icl_soft_conn_close() local
1588 while (isc->receive_running || isc->send_running) { in icl_soft_conn_close()
1589 cv_signal(&isc->receive_cv); in icl_soft_conn_close()
1590 cv_signal(&isc->send_cv); in icl_soft_conn_close()
1591 cv_wait(&isc->send_cv, ic->ic_lock); in icl_soft_conn_close()
1617 if (isc->receive_pdu != NULL) { in icl_soft_conn_close()
1619 icl_soft_conn_pdu_free(ic, isc->receive_pdu); in icl_soft_conn_close()
1620 isc->receive_pdu = NULL; in icl_soft_conn_close()
1626 while (!STAILQ_EMPTY(&isc->to_send)) { in icl_soft_conn_close()
1627 pdu = STAILQ_FIRST(&isc->to_send); in icl_soft_conn_close()
1628 STAILQ_REMOVE_HEAD(&isc->to_send, ip_next); in icl_soft_conn_close()
1632 KASSERT(STAILQ_EMPTY(&isc->to_send), in icl_soft_conn_close()