Lines Matching defs:idb

81     idm_buf_t *idb, uint32_t offset, uint32_t length);
82 static void idm_so_send_rtt_data_done(idm_task_t *idt, idm_buf_t *idb);
84 idm_buf_t *idb, uint32_t buf_region_offset, uint32_t buf_region_length);
86 static uint32_t idm_fill_iov(idm_pdu_t *pdu, idm_buf_t *idb,
99 static idm_status_t idm_so_buf_tx_to_ini(idm_task_t *idt, idm_buf_t *idb);
100 static idm_status_t idm_so_buf_rx_from_ini(idm_task_t *idt, idm_buf_t *idb);
113 static idm_status_t idm_so_buf_alloc(idm_buf_t *idb, uint64_t buflen);
114 static void idm_so_buf_free(idm_buf_t *idb);
115 static idm_status_t idm_so_buf_setup(idm_buf_t *idb);
116 static void idm_so_buf_teardown(idm_buf_t *idb);
1315 idm_buf_t *idb, *next_idb;
1325 * any buffer on the "outbufv" list with idb->idb_in_transport==B_TRUE.
1334 for (idb = list_head(&idt->idt_outbufv); idb != NULL; idb = next_idb) {
1335 next_idb = list_next(&idt->idt_outbufv, idb);
1336 if (idb->idb_in_transport) {
1341 uintptr_t, idb->idb_buf,
1342 uint32_t, idb->idb_bufoffset,
1344 uint32_t, idb->idb_xfer_len,
1346 idm_buf_rx_from_ini_done(idt, idb, IDM_STATUS_ABORTED);
1351 for (idb = list_head(&idt->idt_inbufv); idb != NULL; idb = next_idb) {
1352 next_idb = list_next(&idt->idt_inbufv, idb);
1359 if (idb->idb_in_transport && !idb->idb_tx_thread) {
1364 uintptr_t, idb->idb_buf,
1365 uint32_t, idb->idb_bufoffset,
1367 uint32_t, idb->idb_xfer_len,
1369 idm_buf_tx_to_ini_done(idt, idb, IDM_STATUS_ABORTED);
1545 idm_buf_t *idb;
1571 idb = pdu->isp_sorx_buf;
1572 if (idb == NULL) {
1597 if (offset != idb->idb_exp_offset) {
1604 idb->idb_exp_offset += n2h24(bhs->dlength);
1636 idm_buf_t *idb;
1658 idb = pdu->isp_sorx_buf;
1659 if (idb == NULL) {
1668 if (offset != idb->idb_exp_offset) {
1670 "%ld, %d", offset, idb->idb_exp_offset);
1676 idb->idb_exp_offset += ntoh24(bhs->dlength);
1696 * we'll clear idb->idb_in_transport now while holding
1716 uintptr_t, idb->idb_buf, uint32_t, idb->idb_bufoffset,
1718 uint32_t, idb->idb_xfer_len,
1720 idm_buf_rx_from_ini_done(idt, idb, IDM_STATUS_SUCCESS);
1744 idm_buf_t *idb;
1765 idb = idm_buf_find(&idt->idt_outbufv, data_offset);
1766 if (idb == NULL) {
1775 if (data_offset + data_length > idb->idb_buflen) {
1788 idm_so_send_rtt_data(ic, idt, idb, data_offset,
1949 idm_fill_iov(idm_pdu_t *pdu, idm_buf_t *idb, uint32_t ro, uint32_t dlength)
1951 uint32_t buf_ro = ro - idb->idb_bufoffset;
1952 uint32_t xfer_len = min(dlength, idb->idb_buflen - buf_ro);
1954 ASSERT(ro >= idb->idb_bufoffset);
1957 (caddr_t)idb->idb_buf + buf_ro;
2194 idm_buf_t *idb;
2204 idb = idm_buf_find(&idt->idt_outbufv, 0);
2217 if (idb)
2218 idb->idb_xfer_len += pdu->isp_datalen;
2309 idm_so_buf_tx_to_ini(idm_task_t *idt, idm_buf_t *idb)
2311 idm_so_conn_t *so_conn = idb->idb_ic->ic_transport_private;
2323 uintptr_t, idb->idb_buf, uint32_t, idb->idb_bufoffset,
2325 uint32_t, idb->idb_xfer_len, int, XFER_BUF_TX_TO_INI);
2334 uintptr_t, idb->idb_buf, uint32_t, idb->idb_bufoffset,
2336 uint32_t, idb->idb_xfer_len,
2338 idm_buf_tx_to_ini_done(idt, idb, IDM_STATUS_ABORTED);
2347 bzero(&idb->idb_data_hdr_tmpl, sizeof (iscsi_hdr_t));
2348 tmppdu.isp_hdr = &idb->idb_data_hdr_tmpl;
2351 idb->idb_tx_thread = B_TRUE;
2352 list_insert_tail(&so_conn->ic_tx_list, (void *)idb);
2370 * offset and datalen are passed via the 'idb' argument.
2379 idm_so_buf_rx_from_ini(idm_task_t *idt, idm_buf_t *idb)
2387 uintptr_t, idb->idb_buf, uint32_t, idb->idb_bufoffset,
2389 uint32_t, idb->idb_xfer_len, int, XFER_BUF_RX_FROM_INI);
2404 rtt->data_offset = htonl(idb->idb_bufoffset);
2405 rtt->data_length = htonl(idb->idb_xfer_len);
2409 idb->idb_exp_offset = idb->idb_bufoffset;
2421 idm_so_buf_alloc(idm_buf_t *idb, uint64_t buflen)
2424 idb->idb_buf = kmem_cache_alloc(idm.idm_so_128k_buf_cache,
2426 idb->idb_buf_private = idm.idm_so_128k_buf_cache;
2428 idb->idb_buf = kmem_alloc(buflen, KM_NOSLEEP);
2429 idb->idb_buf_private = NULL;
2432 if (idb->idb_buf == NULL) {
2443 idm_so_buf_setup(idm_buf_t *idb)
2446 idb->idb_bufalloc = B_FALSE;
2453 idm_so_buf_teardown(idm_buf_t *idb)
2459 idm_so_buf_free(idm_buf_t *idb)
2461 if (idb->idb_buf_private == NULL) {
2462 kmem_free(idb->idb_buf, idb->idb_buflen);
2464 kmem_cache_free(idb->idb_buf_private, idb->idb_buf);
2469 idm_so_send_rtt_data(idm_conn_t *ic, idm_task_t *idt, idm_buf_t *idb,
2484 rtt_buf = idm_buf_alloc(ic, (uint8_t *)idb->idb_buf + offset, length);
2548 idm_so_send_rtt_data_done(idm_task_t *idt, idm_buf_t *idb)
2554 idb->idb_in_transport = B_FALSE;
2556 idm_buf_free(idb);
2560 idm_so_send_buf_region(idm_task_t *idt, idm_buf_t *idb,
2603 bcopy(&idb->idb_data_hdr_tmpl, pdu->isp_hdr,
2615 bhs->offset = htonl(idb->idb_bufoffset + data_offset);
2618 pdu->isp_data = (uint8_t *)idb->idb_buf + data_offset;
2648 * idt->idt_state and idb->idb_bufoffset we can release
2800 idm_buf_t *idb = (idm_buf_t *)object;
2801 idm_task_t *idt = idb->idb_task_binding;
2804 idm_buf_t *, idb);
2808 idb, 0, idb->idb_xfer_len);
2814 ASSERT(idb->idb_in_transport);
2822 uintptr_t, idb->idb_buf,
2823 uint32_t, idb->idb_bufoffset,
2825 uint32_t, idb->idb_xfer_len,
2827 idm_buf_tx_to_ini_done(idt, idb, status);
2829 idm_so_send_rtt_data_done(idt, idb);
2868 idm_buf_t *idb = (idm_buf_t *)object;
2869 idm_task_t *idt = idb->idb_task_binding;
2876 ASSERT(idb->idb_in_transport);
2884 uintptr_t, idb->idb_buf,
2885 uint32_t, idb->idb_bufoffset,
2887 uint32_t, idb->idb_xfer_len,
2889 idm_buf_tx_to_ini_done(idt, idb,
2892 idm_so_send_rtt_data_done(idt, idb);