Lines Matching refs:ic
64 static void idm_task_abort_one(idm_conn_t *ic, idm_task_t *idt,
184 idm_conn_t *ic; in idm_ini_conn_create() local
190 ic = idm_conn_create_common(CONN_TYPE_INI, it->it_type, in idm_ini_conn_create()
193 bcopy(&cr->cr_ini_dst_addr, &ic->ic_ini_dst_addr, in idm_ini_conn_create()
197 rc = it->it_ops->it_ini_conn_create(cr, ic); in idm_ini_conn_create()
200 idm_conn_destroy_common(ic); in idm_ini_conn_create()
217 *new_con = ic; in idm_ini_conn_create()
220 list_insert_tail(&idm.idm_ini_conn_list, ic); in idm_ini_conn_create()
237 idm_conn_t *ic = ic_void; in idm_ini_conn_destroy_task() local
239 ic->ic_transport_ops->it_ini_conn_destroy(ic); in idm_ini_conn_destroy_task()
240 idm_conn_destroy_common(ic); in idm_ini_conn_destroy_task()
244 idm_ini_conn_destroy(idm_conn_t *ic) in idm_ini_conn_destroy() argument
255 list_remove(&idm.idm_ini_conn_list, ic); in idm_ini_conn_destroy()
259 &idm_ini_conn_destroy_task, ic, TQ_SLEEP) == NULL) { in idm_ini_conn_destroy()
283 idm_ini_conn_connect(idm_conn_t *ic) in idm_ini_conn_connect() argument
287 rc = idm_conn_sm_init(ic); in idm_ini_conn_connect()
289 return (ic->ic_conn_sm_status); in idm_ini_conn_connect()
293 idm_conn_hold(ic); in idm_ini_conn_connect()
296 idm_conn_event(ic, CE_CONNECT_REQ, NULL); in idm_ini_conn_connect()
299 mutex_enter(&ic->ic_state_mutex); in idm_ini_conn_connect()
300 while (!(ic->ic_state_flags & CF_LOGIN_READY) && in idm_ini_conn_connect()
301 !(ic->ic_state_flags & CF_ERROR)) { in idm_ini_conn_connect()
302 cv_wait(&ic->ic_state_cv, &ic->ic_state_mutex); in idm_ini_conn_connect()
311 if (ic->ic_state_flags & CF_ERROR) { in idm_ini_conn_connect()
312 rc = ic->ic_conn_sm_status; in idm_ini_conn_connect()
314 mutex_exit(&ic->ic_state_mutex); in idm_ini_conn_connect()
315 idm_conn_rele(ic); in idm_ini_conn_connect()
333 idm_ini_conn_disconnect(idm_conn_t *ic) in idm_ini_conn_disconnect() argument
335 idm_conn_event(ic, CE_TRANSPORT_FAIL, NULL); in idm_ini_conn_disconnect()
349 idm_ini_conn_disconnect_sync(idm_conn_t *ic) in idm_ini_conn_disconnect_sync() argument
351 mutex_enter(&ic->ic_state_mutex); in idm_ini_conn_disconnect_sync()
352 if ((ic->ic_state != CS_S9_INIT_ERROR) && in idm_ini_conn_disconnect_sync()
353 (ic->ic_state != CS_S11_COMPLETE)) { in idm_ini_conn_disconnect_sync()
354 idm_conn_event_locked(ic, CE_TRANSPORT_FAIL, NULL, CT_NONE); in idm_ini_conn_disconnect_sync()
355 while ((ic->ic_state != CS_S9_INIT_ERROR) && in idm_ini_conn_disconnect_sync()
356 (ic->ic_state != CS_S11_COMPLETE)) in idm_ini_conn_disconnect_sync()
357 cv_wait(&ic->ic_state_cv, &ic->ic_state_mutex); in idm_ini_conn_disconnect_sync()
359 mutex_exit(&ic->ic_state_mutex); in idm_ini_conn_disconnect_sync()
634 idm_negotiate_key_values(idm_conn_t *ic, nvlist_t *request_nvl, in idm_negotiate_key_values() argument
637 ASSERT(ic->ic_transport_ops != NULL); in idm_negotiate_key_values()
638 return (ic->ic_transport_ops->it_negotiate_key_values(ic, in idm_negotiate_key_values()
649 idm_notice_key_values(idm_conn_t *ic, nvlist_t *negotiated_nvl) in idm_notice_key_values() argument
651 ASSERT(ic->ic_transport_ops != NULL); in idm_notice_key_values()
652 ic->ic_transport_ops->it_notice_key_values(ic, negotiated_nvl); in idm_notice_key_values()
661 idm_declare_key_values(idm_conn_t *ic, nvlist_t *config_nvl, in idm_declare_key_values() argument
664 ASSERT(ic->ic_transport_ops != NULL); in idm_declare_key_values()
665 return (ic->ic_transport_ops->it_declare_key_values(ic, config_nvl, in idm_declare_key_values()
968 idm_buf_alloc(idm_conn_t *ic, void *bufptr, uint64_t buflen) in idm_buf_alloc() argument
973 ASSERT(ic != NULL); in idm_buf_alloc()
978 mutex_enter(&ic->ic_state_mutex); in idm_buf_alloc()
979 if (!ic->ic_ffp) { in idm_buf_alloc()
980 mutex_exit(&ic->ic_state_mutex); in idm_buf_alloc()
985 idm_conn_hold(ic); in idm_buf_alloc()
986 mutex_exit(&ic->ic_state_mutex); in idm_buf_alloc()
990 idm_conn_rele(ic); in idm_buf_alloc()
994 buf->idb_ic = ic; in idm_buf_alloc()
1018 rc = ic->ic_transport_ops->it_buf_alloc(buf, buflen); in idm_buf_alloc()
1020 idm_conn_rele(ic); in idm_buf_alloc()
1038 rc = ic->ic_transport_ops->it_buf_setup(buf); in idm_buf_alloc()
1040 idm_conn_rele(ic); in idm_buf_alloc()
1064 idm_conn_t *ic = buf->idb_ic; in idm_buf_free() local
1070 ic->ic_transport_ops->it_buf_free(buf); in idm_buf_free()
1072 ic->ic_transport_ops->it_buf_teardown(buf); in idm_buf_free()
1075 idm_conn_rele(ic); in idm_buf_free()
1254 idm_task_alloc(idm_conn_t *ic) in idm_task_alloc() argument
1258 ASSERT(ic != NULL); in idm_task_alloc()
1261 if (!ic->ic_ffp) { in idm_task_alloc()
1272 mutex_enter(&ic->ic_state_mutex); in idm_task_alloc()
1273 if (!ic->ic_ffp) { in idm_task_alloc()
1274 mutex_exit(&ic->ic_state_mutex); in idm_task_alloc()
1278 idm_conn_hold(ic); in idm_task_alloc()
1279 mutex_exit(&ic->ic_state_mutex); in idm_task_alloc()
1282 idt->idt_ic = ic; in idm_task_alloc()
1349 idm_conn_t *ic; in idm_task_free() local
1355 ic = idt->idt_ic; in idm_task_free()
1372 idm_conn_rele(ic); in idm_task_free()
1381 idm_task_find_common(idm_conn_t *ic, uint32_t itt, uint32_t ttt, in idm_task_find_common() argument
1391 if (IDM_CONN_ISTGT(ic)) { in idm_task_find_common()
1410 (idt->idt_ic != ic) || in idm_task_find_common()
1411 (IDM_CONN_ISTGT(ic) && in idm_task_find_common()
1417 if ((idt->idt_ic != ic) && in idm_task_find_common()
1419 (IDM_CONN_ISINI(ic) || idt->idt_client_handle == in idm_task_find_common()
1423 (void *)ic, (void *)idt->idt_ic); in idm_task_find_common()
1447 idm_task_find(idm_conn_t *ic, uint32_t itt, uint32_t ttt) in idm_task_find() argument
1449 return (idm_task_find_common(ic, itt, ttt, B_FALSE)); in idm_task_find()
1457 idm_task_find_and_complete(idm_conn_t *ic, uint32_t itt, uint32_t ttt) in idm_task_find_and_complete() argument
1459 return (idm_task_find_common(ic, itt, ttt, B_TRUE)); in idm_task_find_and_complete()
1472 idm_task_find_by_handle(idm_conn_t *ic, uintptr_t handle) in idm_task_find_by_handle() argument
1526 idm_task_abort(idm_conn_t *ic, idm_task_t *idt, idm_abort_type_t abort_type) in idm_task_abort() argument
1540 ASSERT(!ic->ic_ffp); in idm_task_abort()
1549 (task->idt_ic == ic)) { in idm_task_abort()
1551 idm_task_abort_one(ic, task, abort_type); in idm_task_abort()
1559 idm_task_abort_one(ic, idt, abort_type); in idm_task_abort()
1592 idm_task_abort_one(idm_conn_t *ic, idm_task_t *idt, idm_abort_type_t abort_type) in idm_task_abort_one() argument
1603 ic->ic_transport_ops->it_free_task_rsrc(idt); in idm_task_abort_one()
1617 ic->ic_transport_ops->it_free_task_rsrc(idt); in idm_task_abort_one()
1719 idm_conn_t *ic = pdu->isp_ic; in idm_pdu_tx() local
1739 mutex_enter(&ic->ic_state_mutex); in idm_pdu_tx()
1740 if (ic->ic_ffp && (ic->ic_pdu_events == 0)) { in idm_pdu_tx()
1741 mutex_exit(&ic->ic_state_mutex); in idm_pdu_tx()
1745 DTRACE_ISCSI_2(scsi__response, idm_conn_t *, ic, in idm_pdu_tx()
1748 idm_pdu_tx_forward(ic, pdu); in idm_pdu_tx()
1752 DTRACE_ISCSI_2(task__response, idm_conn_t *, ic, in idm_pdu_tx()
1755 idm_pdu_tx_forward(ic, pdu); in idm_pdu_tx()
1759 DTRACE_ISCSI_2(data__send, idm_conn_t *, ic, in idm_pdu_tx()
1762 idm_pdu_tx_forward(ic, pdu); in idm_pdu_tx()
1766 DTRACE_ISCSI_2(data__request, idm_conn_t *, ic, in idm_pdu_tx()
1769 idm_pdu_tx_forward(ic, pdu); in idm_pdu_tx()
1773 DTRACE_ISCSI_2(nop__send, idm_conn_t *, ic, in idm_pdu_tx()
1776 idm_pdu_tx_forward(ic, pdu); in idm_pdu_tx()
1780 DTRACE_ISCSI_2(text__response, idm_conn_t *, ic, in idm_pdu_tx()
1783 idm_pdu_tx_forward(ic, pdu); in idm_pdu_tx()
1791 idm_pdu_tx_forward(ic, pdu); in idm_pdu_tx()
1797 mutex_enter(&ic->ic_state_mutex); in idm_pdu_tx()
1814 idm_conn_tx_pdu_event(ic, CE_LOGIN_SND, (uintptr_t)pdu); in idm_pdu_tx()
1817 DTRACE_ISCSI_2(login__response, idm_conn_t *, ic, in idm_pdu_tx()
1820 idm_parse_login_rsp(ic, pdu, /* Is RX */ B_FALSE); in idm_pdu_tx()
1823 idm_parse_logout_req(ic, pdu, /* Is RX */ B_FALSE); in idm_pdu_tx()
1826 DTRACE_ISCSI_2(logout__response, idm_conn_t *, ic, in idm_pdu_tx()
1829 idm_parse_logout_rsp(ic, pdu, /* Is RX */ B_FALSE); in idm_pdu_tx()
1832 DTRACE_ISCSI_2(async__send, idm_conn_t *, ic, in idm_pdu_tx()
1838 idm_conn_tx_pdu_event(ic, CE_ASYNC_LOGOUT_SND, in idm_pdu_tx()
1842 idm_conn_tx_pdu_event(ic, CE_ASYNC_DROP_CONN_SND, in idm_pdu_tx()
1846 idm_conn_tx_pdu_event(ic, CE_ASYNC_DROP_ALL_CONN_SND, in idm_pdu_tx()
1852 idm_conn_tx_pdu_event(ic, CE_MISC_TX, in idm_pdu_tx()
1859 DTRACE_ISCSI_2(scsi__response, idm_conn_t *, ic, in idm_pdu_tx()
1862 idm_conn_tx_pdu_event(ic, CE_MISC_TX, (uintptr_t)pdu); in idm_pdu_tx()
1866 DTRACE_ISCSI_2(task__response, idm_conn_t *, ic, in idm_pdu_tx()
1869 idm_conn_tx_pdu_event(ic, CE_MISC_TX, (uintptr_t)pdu); in idm_pdu_tx()
1873 DTRACE_ISCSI_2(data__send, idm_conn_t *, ic, in idm_pdu_tx()
1876 idm_conn_tx_pdu_event(ic, CE_MISC_TX, (uintptr_t)pdu); in idm_pdu_tx()
1880 DTRACE_ISCSI_2(data__request, idm_conn_t *, ic, in idm_pdu_tx()
1883 idm_conn_tx_pdu_event(ic, CE_MISC_TX, (uintptr_t)pdu); in idm_pdu_tx()
1887 DTRACE_ISCSI_2(nop__send, idm_conn_t *, ic, in idm_pdu_tx()
1890 idm_conn_tx_pdu_event(ic, CE_MISC_TX, (uintptr_t)pdu); in idm_pdu_tx()
1894 DTRACE_ISCSI_2(text__response, idm_conn_t *, ic, in idm_pdu_tx()
1897 idm_conn_tx_pdu_event(ic, CE_MISC_TX, (uintptr_t)pdu); in idm_pdu_tx()
1913 idm_conn_tx_pdu_event(ic, CE_MISC_TX, (uintptr_t)pdu); in idm_pdu_tx()
1916 mutex_exit(&ic->ic_state_mutex); in idm_pdu_tx()
1994 idm_pdu_init(idm_pdu_t *pdu, idm_conn_t *ic, void *private, idm_pdu_cb_t *cb) in idm_pdu_init() argument
2004 pdu->isp_ic = ic; in idm_pdu_init()
2267 idm_conn_hold(idm_conn_t *ic) in idm_conn_hold() argument
2269 idm_refcnt_hold(&ic->ic_refcnt); in idm_conn_hold()
2273 idm_conn_rele(idm_conn_t *ic) in idm_conn_rele() argument
2275 idm_refcnt_rele(&ic->ic_refcnt); in idm_conn_rele()
2279 idm_conn_set_target_name(idm_conn_t *ic, char *target_name) in idm_conn_set_target_name() argument
2281 (void) strlcpy(ic->ic_target_name, target_name, ISCSI_MAX_NAME_LEN + 1); in idm_conn_set_target_name()
2285 idm_conn_set_initiator_name(idm_conn_t *ic, char *initiator_name) in idm_conn_set_initiator_name() argument
2287 (void) strlcpy(ic->ic_initiator_name, initiator_name, in idm_conn_set_initiator_name()
2292 idm_conn_set_isid(idm_conn_t *ic, uint8_t isid[ISCSI_ISID_LEN]) in idm_conn_set_isid() argument
2294 (void) snprintf(ic->ic_isid, ISCSI_MAX_ISID_LEN + 1, in idm_conn_set_isid()