Lines Matching refs:hdr
58 iscsi_update_cmdsn(struct iscsi_session *session, struct iscsi_nopin *hdr) in iscsi_update_cmdsn() argument
60 uint32_t max_cmdsn = be32_to_cpu(hdr->max_cmdsn); in iscsi_update_cmdsn()
61 uint32_t exp_cmdsn = be32_to_cpu(hdr->exp_cmdsn); in iscsi_update_cmdsn()
104 struct iscsi_data *hdr) in iscsi_prep_data_out_pdu() argument
111 memset(hdr, 0, sizeof(struct iscsi_data)); in iscsi_prep_data_out_pdu()
112 hdr->ttt = r2t->ttt; in iscsi_prep_data_out_pdu()
113 hdr->datasn = cpu_to_be32(r2t->datasn); in iscsi_prep_data_out_pdu()
115 hdr->opcode = ISCSI_OP_SCSI_DATA_OUT; in iscsi_prep_data_out_pdu()
116 memcpy(hdr->lun, task->lun, sizeof(hdr->lun)); in iscsi_prep_data_out_pdu()
117 hdr->itt = task->hdr_itt; in iscsi_prep_data_out_pdu()
118 hdr->exp_statsn = r2t->exp_statsn; in iscsi_prep_data_out_pdu()
119 hdr->offset = cpu_to_be32(r2t->data_offset + r2t->sent); in iscsi_prep_data_out_pdu()
121 hton24(hdr->dlength, conn->max_xmit_dlength); in iscsi_prep_data_out_pdu()
123 hdr->flags = 0; in iscsi_prep_data_out_pdu()
125 hton24(hdr->dlength, left); in iscsi_prep_data_out_pdu()
127 hdr->flags = ISCSI_FLAG_CMD_FINAL; in iscsi_prep_data_out_pdu()
223 struct iscsi_cmd *hdr; in iscsi_prep_scsi_cmd_pdu() local
231 hdr = (struct iscsi_cmd *) task->hdr; in iscsi_prep_scsi_cmd_pdu()
232 itt = hdr->itt; in iscsi_prep_scsi_cmd_pdu()
233 memset(hdr, 0, sizeof(*hdr)); in iscsi_prep_scsi_cmd_pdu()
236 hdr->itt = task->hdr_itt = itt; in iscsi_prep_scsi_cmd_pdu()
238 hdr->itt = task->hdr_itt = build_itt(task->itt, in iscsi_prep_scsi_cmd_pdu()
241 rc = iscsi_add_hdr(task, sizeof(*hdr)); in iscsi_prep_scsi_cmd_pdu()
244 hdr->opcode = ISCSI_OP_SCSI_CMD; in iscsi_prep_scsi_cmd_pdu()
245 hdr->flags = ISCSI_ATTR_SIMPLE; in iscsi_prep_scsi_cmd_pdu()
246 int_to_scsilun(sc->device->lun, (struct scsi_lun *)hdr->lun); in iscsi_prep_scsi_cmd_pdu()
247 memcpy(task->lun, hdr->lun, sizeof(task->lun)); in iscsi_prep_scsi_cmd_pdu()
248 hdr->cmdsn = task->cmdsn = cpu_to_be32(session->cmdsn); in iscsi_prep_scsi_cmd_pdu()
250 hdr->exp_statsn = cpu_to_be32(conn->exp_statsn); in iscsi_prep_scsi_cmd_pdu()
253 memset(&hdr->cdb[cmd_len], 0, ISCSI_CDB_SIZE - cmd_len); in iscsi_prep_scsi_cmd_pdu()
260 memcpy(hdr->cdb, sc->cmnd, cmd_len); in iscsi_prep_scsi_cmd_pdu()
264 hdr->flags |= ISCSI_FLAG_CMD_READ; in iscsi_prep_scsi_cmd_pdu()
273 hdr->data_length = cpu_to_be32(out_len); in iscsi_prep_scsi_cmd_pdu()
274 hdr->flags |= ISCSI_FLAG_CMD_WRITE; in iscsi_prep_scsi_cmd_pdu()
298 hton24(hdr->dlength, task->imm_count); in iscsi_prep_scsi_cmd_pdu()
300 zero_data(hdr->dlength); in iscsi_prep_scsi_cmd_pdu()
312 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsi_prep_scsi_cmd_pdu()
314 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsi_prep_scsi_cmd_pdu()
315 zero_data(hdr->dlength); in iscsi_prep_scsi_cmd_pdu()
316 hdr->data_length = cpu_to_be32(scsi_in(sc)->length); in iscsi_prep_scsi_cmd_pdu()
319 hdr->flags |= ISCSI_FLAG_CMD_READ; in iscsi_prep_scsi_cmd_pdu()
323 hdrlength = task->hdr_len - sizeof(*hdr); in iscsi_prep_scsi_cmd_pdu()
329 hdr->hlength = hdrlength & 0xFF; in iscsi_prep_scsi_cmd_pdu()
452 struct iscsi_hdr *hdr = task->hdr; in iscsi_prep_mgmt_task() local
453 struct iscsi_nopout *nop = (struct iscsi_nopout *)hdr; in iscsi_prep_mgmt_task()
458 if (hdr->opcode != (ISCSI_OP_LOGIN | ISCSI_OP_IMMEDIATE) && in iscsi_prep_mgmt_task()
459 hdr->opcode != (ISCSI_OP_TEXT | ISCSI_OP_IMMEDIATE)) in iscsi_prep_mgmt_task()
465 if (hdr->itt != RESERVED_ITT) { in iscsi_prep_mgmt_task()
472 !(hdr->opcode & ISCSI_OP_IMMEDIATE)) { in iscsi_prep_mgmt_task()
481 if ((hdr->opcode & ISCSI_OPCODE_MASK) == ISCSI_OP_LOGOUT) in iscsi_prep_mgmt_task()
487 hdr->opcode & ISCSI_OPCODE_MASK, hdr->itt, in iscsi_prep_mgmt_task()
493 __iscsi_conn_send_pdu(struct iscsi_conn *conn, struct iscsi_hdr *hdr, in __iscsi_conn_send_pdu() argument
503 if (hdr->opcode == (ISCSI_OP_LOGIN | ISCSI_OP_IMMEDIATE) || in __iscsi_conn_send_pdu()
504 hdr->opcode == (ISCSI_OP_TEXT | ISCSI_OP_IMMEDIATE)) in __iscsi_conn_send_pdu()
535 if (conn->session->tt->alloc_pdu(task, hdr->opcode)) { in __iscsi_conn_send_pdu()
540 itt = task->hdr->itt; in __iscsi_conn_send_pdu()
542 memcpy(task->hdr, hdr, sizeof(struct iscsi_hdr)); in __iscsi_conn_send_pdu()
544 if (hdr->itt != RESERVED_ITT) { in __iscsi_conn_send_pdu()
546 task->hdr->itt = itt; in __iscsi_conn_send_pdu()
548 task->hdr->itt = build_itt(task->itt, in __iscsi_conn_send_pdu()
578 int iscsi_conn_send_pdu(struct iscsi_cls_conn *cls_conn, struct iscsi_hdr *hdr, in iscsi_conn_send_pdu() argument
586 if (!__iscsi_conn_send_pdu(conn, hdr, data, data_size)) in iscsi_conn_send_pdu()
604 static void iscsi_scsi_cmd_rsp(struct iscsi_conn *conn, struct iscsi_hdr *hdr, in iscsi_scsi_cmd_rsp() argument
608 struct iscsi_cmd_rsp *rhdr = (struct iscsi_cmd_rsp *)hdr; in iscsi_scsi_cmd_rsp()
683 iscsi_data_in_rsp(struct iscsi_conn *conn, struct iscsi_hdr *hdr, in iscsi_data_in_rsp() argument
686 struct iscsi_data_rsp *rhdr = (struct iscsi_data_rsp *)hdr; in iscsi_data_in_rsp()
710 static void iscsi_tmf_rsp(struct iscsi_conn *conn, struct iscsi_hdr *hdr) in iscsi_tmf_rsp() argument
712 struct iscsi_tm_rsp *tmf = (struct iscsi_tm_rsp *)hdr; in iscsi_tmf_rsp()
714 conn->exp_statsn = be32_to_cpu(hdr->statsn) + 1; in iscsi_tmf_rsp()
731 struct iscsi_nopout hdr; in iscsi_send_nopout() local
737 memset(&hdr, 0, sizeof(struct iscsi_nopout)); in iscsi_send_nopout()
738 hdr.opcode = ISCSI_OP_NOOP_OUT | ISCSI_OP_IMMEDIATE; in iscsi_send_nopout()
739 hdr.flags = ISCSI_FLAG_CMD_FINAL; in iscsi_send_nopout()
742 memcpy(hdr.lun, rhdr->lun, 8); in iscsi_send_nopout()
743 hdr.ttt = rhdr->ttt; in iscsi_send_nopout()
744 hdr.itt = RESERVED_ITT; in iscsi_send_nopout()
746 hdr.ttt = RESERVED_ITT; in iscsi_send_nopout()
748 task = __iscsi_conn_send_pdu(conn, (struct iscsi_hdr *)&hdr, NULL, 0); in iscsi_send_nopout()
758 static int iscsi_handle_reject(struct iscsi_conn *conn, struct iscsi_hdr *hdr, in iscsi_handle_reject() argument
761 struct iscsi_reject *reject = (struct iscsi_reject *)hdr; in iscsi_handle_reject()
820 int __iscsi_complete_pdu(struct iscsi_conn *conn, struct iscsi_hdr *hdr, in __iscsi_complete_pdu() argument
824 int opcode = hdr->opcode & ISCSI_OPCODE_MASK, rc = 0; in __iscsi_complete_pdu()
829 rc = iscsi_verify_itt(conn, hdr->itt); in __iscsi_complete_pdu()
833 if (hdr->itt != RESERVED_ITT) in __iscsi_complete_pdu()
834 itt = get_itt(hdr->itt); in __iscsi_complete_pdu()
842 iscsi_update_cmdsn(session, (struct iscsi_nopin*)hdr); in __iscsi_complete_pdu()
851 if (hdr->ttt == cpu_to_be32(ISCSI_RESERVED_TAG)) in __iscsi_complete_pdu()
854 iscsi_send_nopout(conn, (struct iscsi_nopin*)hdr); in __iscsi_complete_pdu()
857 rc = iscsi_handle_reject(conn, hdr, data, datalen); in __iscsi_complete_pdu()
860 conn->exp_statsn = be32_to_cpu(hdr->statsn) + 1; in __iscsi_complete_pdu()
861 if (iscsi_recv_pdu(conn->cls_conn, hdr, data, datalen)) in __iscsi_complete_pdu()
874 task = iscsi_itt_to_ctask(conn, hdr->itt); in __iscsi_complete_pdu()
888 task = iscsi_itt_to_task(conn, hdr->itt); in __iscsi_complete_pdu()
898 iscsi_scsi_cmd_rsp(conn, hdr, task, data, datalen); in __iscsi_complete_pdu()
901 iscsi_data_in_rsp(conn, hdr, task); in __iscsi_complete_pdu()
904 iscsi_update_cmdsn(session, (struct iscsi_nopin*)hdr); in __iscsi_complete_pdu()
909 conn->exp_statsn = be32_to_cpu(hdr->statsn) + 1; in __iscsi_complete_pdu()
913 iscsi_update_cmdsn(session, (struct iscsi_nopin*)hdr); in __iscsi_complete_pdu()
920 iscsi_update_cmdsn(session, (struct iscsi_nopin*)hdr); in __iscsi_complete_pdu()
926 iscsi_tmf_rsp(conn, hdr); in __iscsi_complete_pdu()
930 iscsi_update_cmdsn(session, (struct iscsi_nopin*)hdr); in __iscsi_complete_pdu()
931 if (hdr->ttt != cpu_to_be32(ISCSI_RESERVED_TAG) || datalen) { in __iscsi_complete_pdu()
935 conn->exp_statsn = be32_to_cpu(hdr->statsn) + 1; in __iscsi_complete_pdu()
955 if (iscsi_recv_pdu(conn->cls_conn, hdr, data, datalen)) in __iscsi_complete_pdu()
962 int iscsi_complete_pdu(struct iscsi_conn *conn, struct iscsi_hdr *hdr, in iscsi_complete_pdu() argument
968 rc = __iscsi_complete_pdu(conn, hdr, data, datalen); in iscsi_complete_pdu()
1512 struct iscsi_tm *hdr, int age, in iscsi_exec_task_mgmt_fn() argument
1518 task = __iscsi_conn_send_pdu(conn, (struct iscsi_hdr *)hdr, in iscsi_exec_task_mgmt_fn()
1713 struct iscsi_tm *hdr) in iscsi_prep_abort_task_pdu() argument
1715 memset(hdr, 0, sizeof(*hdr)); in iscsi_prep_abort_task_pdu()
1716 hdr->opcode = ISCSI_OP_SCSI_TMFUNC | ISCSI_OP_IMMEDIATE; in iscsi_prep_abort_task_pdu()
1717 hdr->flags = ISCSI_TM_FUNC_ABORT_TASK & ISCSI_FLAG_TM_FUNC_MASK; in iscsi_prep_abort_task_pdu()
1718 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsi_prep_abort_task_pdu()
1719 memcpy(hdr->lun, task->lun, sizeof(hdr->lun)); in iscsi_prep_abort_task_pdu()
1720 hdr->rtt = task->hdr_itt; in iscsi_prep_abort_task_pdu()
1721 hdr->refcmdsn = task->cmdsn; in iscsi_prep_abort_task_pdu()
1730 struct iscsi_tm *hdr; in iscsi_eh_abort() local
1783 hdr = &conn->tmhdr; in iscsi_eh_abort()
1784 iscsi_prep_abort_task_pdu(task, hdr); in iscsi_eh_abort()
1786 if (iscsi_exec_task_mgmt_fn(conn, hdr, age, session->abort_timeout)) { in iscsi_eh_abort()
1844 static void iscsi_prep_lun_reset_pdu(struct scsi_cmnd *sc, struct iscsi_tm *hdr) in iscsi_prep_lun_reset_pdu() argument
1846 memset(hdr, 0, sizeof(*hdr)); in iscsi_prep_lun_reset_pdu()
1847 hdr->opcode = ISCSI_OP_SCSI_TMFUNC | ISCSI_OP_IMMEDIATE; in iscsi_prep_lun_reset_pdu()
1848 hdr->flags = ISCSI_TM_FUNC_LOGICAL_UNIT_RESET & ISCSI_FLAG_TM_FUNC_MASK; in iscsi_prep_lun_reset_pdu()
1849 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsi_prep_lun_reset_pdu()
1850 int_to_scsilun(sc->device->lun, (struct scsi_lun *)hdr->lun); in iscsi_prep_lun_reset_pdu()
1851 hdr->rtt = RESERVED_ITT; in iscsi_prep_lun_reset_pdu()
1859 struct iscsi_tm *hdr; in iscsi_eh_device_reset() local
1882 hdr = &conn->tmhdr; in iscsi_eh_device_reset()
1883 iscsi_prep_lun_reset_pdu(sc, hdr); in iscsi_eh_device_reset()
1885 if (iscsi_exec_task_mgmt_fn(conn, hdr, session->age, in iscsi_eh_device_reset()