Lines Matching refs:hdr

824 	struct iscsi_scsi_req *hdr;  in iscsit_setup_scsi_cmd()  local
830 hdr = (struct iscsi_scsi_req *) buf; in iscsit_setup_scsi_cmd()
831 payload_length = ntoh24(hdr->dlength); in iscsit_setup_scsi_cmd()
835 if (!(hdr->flags & ISCSI_FLAG_CMD_WRITE) && in iscsit_setup_scsi_cmd()
836 !(hdr->flags & ISCSI_FLAG_CMD_FINAL)) { in iscsit_setup_scsi_cmd()
843 if (((hdr->flags & ISCSI_FLAG_CMD_READ) || in iscsit_setup_scsi_cmd()
844 (hdr->flags & ISCSI_FLAG_CMD_WRITE)) && !hdr->data_length) { in iscsit_setup_scsi_cmd()
855 hdr->flags &= ~ISCSI_FLAG_CMD_READ; in iscsit_setup_scsi_cmd()
856 hdr->flags &= ~ISCSI_FLAG_CMD_WRITE; in iscsit_setup_scsi_cmd()
860 " CDB: 0x%02x, Fixing up flags\n", hdr->cdb[0]); in iscsit_setup_scsi_cmd()
863 if (!(hdr->flags & ISCSI_FLAG_CMD_READ) && in iscsit_setup_scsi_cmd()
864 !(hdr->flags & ISCSI_FLAG_CMD_WRITE) && (hdr->data_length != 0)) { in iscsit_setup_scsi_cmd()
872 if ((hdr->flags & ISCSI_FLAG_CMD_READ) && in iscsit_setup_scsi_cmd()
873 (hdr->flags & ISCSI_FLAG_CMD_WRITE)) { in iscsit_setup_scsi_cmd()
879 if (hdr->opcode & ISCSI_OP_IMMEDIATE) { in iscsit_setup_scsi_cmd()
893 if ((be32_to_cpu(hdr->data_length) == payload_length) && in iscsit_setup_scsi_cmd()
894 (!(hdr->flags & ISCSI_FLAG_CMD_FINAL))) { in iscsit_setup_scsi_cmd()
902 if (payload_length > be32_to_cpu(hdr->data_length)) { in iscsit_setup_scsi_cmd()
905 hdr->data_length); in iscsit_setup_scsi_cmd()
926 data_direction = (hdr->flags & ISCSI_FLAG_CMD_WRITE) ? DMA_TO_DEVICE : in iscsit_setup_scsi_cmd()
927 (hdr->flags & ISCSI_FLAG_CMD_READ) ? DMA_FROM_DEVICE : in iscsit_setup_scsi_cmd()
931 iscsi_task_attr = hdr->flags & ISCSI_FLAG_CMD_ATTR_MASK; in iscsit_setup_scsi_cmd()
952 cmd->immediate_cmd = ((hdr->opcode & ISCSI_OP_IMMEDIATE) ? 1 : 0); in iscsit_setup_scsi_cmd()
954 cmd->unsolicited_data = ((!(hdr->flags & ISCSI_FLAG_CMD_FINAL) && in iscsit_setup_scsi_cmd()
955 (hdr->flags & ISCSI_FLAG_CMD_WRITE)) ? 1 : 0); in iscsit_setup_scsi_cmd()
959 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; in iscsit_setup_scsi_cmd()
960 if (hdr->flags & ISCSI_FLAG_CMD_READ) in iscsit_setup_scsi_cmd()
964 cmd->cmd_sn = be32_to_cpu(hdr->cmdsn); in iscsit_setup_scsi_cmd()
965 cmd->exp_stat_sn = be32_to_cpu(hdr->exp_statsn); in iscsit_setup_scsi_cmd()
984 conn->sess->se_sess, be32_to_cpu(hdr->data_length), in iscsit_setup_scsi_cmd()
989 " ExpXferLen: %u, Length: %u, CID: %hu\n", hdr->itt, in iscsit_setup_scsi_cmd()
990 hdr->cmdsn, be32_to_cpu(hdr->data_length), payload_length, in iscsit_setup_scsi_cmd()
996 scsilun_to_int(&hdr->lun)); in iscsit_setup_scsi_cmd()
1002 cmd->sense_reason = target_setup_cmd_from_cdb(&cmd->se_cmd, hdr->cdb); in iscsit_setup_scsi_cmd()
1042 struct iscsi_scsi_req *hdr) in iscsit_process_scsi_cmd() argument
1057 (unsigned char *)hdr, hdr->cmdsn); in iscsit_process_scsi_cmd()
1066 iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); in iscsit_process_scsi_cmd()
1105 iscsit_get_immediate_data(struct iscsi_cmd *cmd, struct iscsi_scsi_req *hdr, in iscsit_get_immediate_data() argument
1115 immed_ret = iscsit_handle_immediate_data(cmd, hdr, in iscsit_get_immediate_data()
1125 (unsigned char *)hdr, hdr->cmdsn); in iscsit_get_immediate_data()
1163 struct iscsi_scsi_req *hdr = (struct iscsi_scsi_req *)buf; in iscsit_handle_scsi_cmd() local
1180 rc = iscsit_process_scsi_cmd(conn, cmd, hdr); in iscsit_handle_scsi_cmd()
1189 return iscsit_get_immediate_data(cmd, hdr, dump_payload); in iscsit_handle_scsi_cmd()
1257 struct iscsi_data *hdr = (struct iscsi_data *)buf; in iscsit_check_dataout_hdr() local
1260 u32 payload_length = ntoh24(hdr->dlength); in iscsit_check_dataout_hdr()
1279 cmd = iscsit_find_cmd_from_itt_or_dump(conn, hdr->itt, in iscsit_check_dataout_hdr()
1286 hdr->itt, hdr->ttt, hdr->datasn, ntohl(hdr->offset), in iscsit_check_dataout_hdr()
1304 if ((be32_to_cpu(hdr->offset) + payload_length) > cmd->se_cmd.data_length) { in iscsit_check_dataout_hdr()
1307 hdr->offset, payload_length, cmd->se_cmd.data_length); in iscsit_check_dataout_hdr()
1338 if (hdr->flags & ISCSI_FLAG_CMD_FINAL) in iscsit_check_dataout_hdr()
1342 (hdr->flags & ISCSI_FLAG_CMD_FINAL)); in iscsit_check_dataout_hdr()
1357 if (hdr->flags & ISCSI_FLAG_CMD_FINAL) in iscsit_check_dataout_hdr()
1384 struct iscsi_data *hdr) in iscsit_get_dataout() argument
1388 u32 payload_length = ntoh24(hdr->dlength); in iscsit_get_dataout()
1394 iov_ret = iscsit_map_iovec(cmd, iov, be32_to_cpu(hdr->offset), in iscsit_get_dataout()
1426 be32_to_cpu(hdr->offset), in iscsit_get_dataout()
1434 hdr->itt, hdr->offset, payload_length, in iscsit_get_dataout()
1435 hdr->datasn, checksum, data_crc); in iscsit_get_dataout()
1448 iscsit_check_dataout_payload(struct iscsi_cmd *cmd, struct iscsi_data *hdr, in iscsit_check_dataout_payload() argument
1457 rc = iscsit_check_post_dataout(cmd, (unsigned char *)hdr, data_crc_failed); in iscsit_check_dataout_payload()
1489 struct iscsi_data *hdr = (struct iscsi_data *)buf; in iscsit_handle_data_out() local
1499 rc = iscsit_get_dataout(conn, cmd, hdr); in iscsit_handle_data_out()
1505 return iscsit_check_dataout_payload(cmd, hdr, data_crc_failed); in iscsit_handle_data_out()
1509 struct iscsi_nopout *hdr) in iscsit_setup_nop_out() argument
1511 u32 payload_length = ntoh24(hdr->dlength); in iscsit_setup_nop_out()
1513 if (!(hdr->flags & ISCSI_FLAG_CMD_FINAL)) { in iscsit_setup_nop_out()
1517 (unsigned char *)hdr); in iscsit_setup_nop_out()
1520 (unsigned char *)hdr); in iscsit_setup_nop_out()
1523 if (hdr->itt == RESERVED_ITT && !(hdr->opcode & ISCSI_OP_IMMEDIATE)) { in iscsit_setup_nop_out()
1528 (unsigned char *)hdr); in iscsit_setup_nop_out()
1531 (unsigned char *)hdr); in iscsit_setup_nop_out()
1541 (unsigned char *)hdr); in iscsit_setup_nop_out()
1544 (unsigned char *)hdr); in iscsit_setup_nop_out()
1549 hdr->itt == RESERVED_ITT ? "Response" : "Request", in iscsit_setup_nop_out()
1550 hdr->itt, hdr->ttt, hdr->cmdsn, hdr->exp_statsn, in iscsit_setup_nop_out()
1559 if (hdr->ttt == cpu_to_be32(0xFFFFFFFF)) { in iscsit_setup_nop_out()
1562 cmd->immediate_cmd = ((hdr->opcode & ISCSI_OP_IMMEDIATE) ? in iscsit_setup_nop_out()
1564 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; in iscsit_setup_nop_out()
1566 cmd->cmd_sn = be32_to_cpu(hdr->cmdsn); in iscsit_setup_nop_out()
1567 cmd->exp_stat_sn = be32_to_cpu(hdr->exp_statsn); in iscsit_setup_nop_out()
1576 struct iscsi_nopout *hdr) in iscsit_process_nop_out() argument
1583 if (hdr->itt != RESERVED_ITT) { in iscsit_process_nop_out()
1586 (unsigned char *)hdr); in iscsit_process_nop_out()
1592 iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); in iscsit_process_nop_out()
1594 if (hdr->opcode & ISCSI_OP_IMMEDIATE) { in iscsit_process_nop_out()
1601 (unsigned char *)hdr, hdr->cmdsn); in iscsit_process_nop_out()
1612 if (hdr->ttt != cpu_to_be32(0xFFFFFFFF)) { in iscsit_process_nop_out()
1613 cmd_p = iscsit_find_cmd_from_ttt(conn, be32_to_cpu(hdr->ttt)); in iscsit_process_nop_out()
1637 struct iscsi_nopout *hdr = (struct iscsi_nopout *)buf; in iscsit_handle_nop_out() local
1639 u32 payload_length = ntoh24(hdr->dlength); in iscsit_handle_nop_out()
1642 ret = iscsit_setup_nop_out(conn, cmd, hdr); in iscsit_handle_nop_out()
1648 if (payload_length && hdr->ttt == cpu_to_be32(0xFFFFFFFF)) { in iscsit_handle_nop_out()
1707 " DataCRC error.\n", hdr->cmdsn); in iscsit_handle_nop_out()
1730 return iscsit_process_nop_out(conn, cmd, hdr); in iscsit_handle_nop_out()
1745 struct iscsi_tm *hdr; in iscsit_handle_task_mgt_cmd() local
1750 hdr = (struct iscsi_tm *) buf; in iscsit_handle_task_mgt_cmd()
1751 hdr->flags &= ~ISCSI_FLAG_CMD_FINAL; in iscsit_handle_task_mgt_cmd()
1752 function = hdr->flags; in iscsit_handle_task_mgt_cmd()
1756 " 0x%08x, CID: %hu\n", hdr->itt, hdr->cmdsn, function, in iscsit_handle_task_mgt_cmd()
1757 hdr->rtt, hdr->refcmdsn, conn->cid); in iscsit_handle_task_mgt_cmd()
1761 hdr->rtt != RESERVED_ITT)) { in iscsit_handle_task_mgt_cmd()
1763 hdr->rtt = RESERVED_ITT; in iscsit_handle_task_mgt_cmd()
1767 !(hdr->opcode & ISCSI_OP_IMMEDIATE)) { in iscsit_handle_task_mgt_cmd()
1775 be32_to_cpu(hdr->refcmdsn) != ISCSI_RESERVED_TAG) in iscsit_handle_task_mgt_cmd()
1776 hdr->refcmdsn = cpu_to_be32(ISCSI_RESERVED_TAG); in iscsit_handle_task_mgt_cmd()
1845 cmd->immediate_cmd = ((hdr->opcode & ISCSI_OP_IMMEDIATE) ? 1 : 0); in iscsit_handle_task_mgt_cmd()
1846 cmd->init_task_tag = hdr->itt; in iscsit_handle_task_mgt_cmd()
1848 cmd->cmd_sn = be32_to_cpu(hdr->cmdsn); in iscsit_handle_task_mgt_cmd()
1849 cmd->exp_stat_sn = be32_to_cpu(hdr->exp_statsn); in iscsit_handle_task_mgt_cmd()
1857 scsilun_to_int(&hdr->lun)); in iscsit_handle_task_mgt_cmd()
1915 if (!(hdr->opcode & ISCSI_OP_IMMEDIATE)) { in iscsit_handle_task_mgt_cmd()
1916 int cmdsn_ret = iscsit_sequence_cmd(conn, cmd, buf, hdr->cmdsn); in iscsit_handle_task_mgt_cmd()
1924 iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); in iscsit_handle_task_mgt_cmd()
1926 if (out_of_order_cmdsn || !(hdr->opcode & ISCSI_OP_IMMEDIATE)) in iscsit_handle_task_mgt_cmd()
1955 struct iscsi_text *hdr) in iscsit_setup_text_cmd() argument
1957 u32 payload_length = ntoh24(hdr->dlength); in iscsit_setup_text_cmd()
1964 (unsigned char *)hdr); in iscsit_setup_text_cmd()
1967 if (!(hdr->flags & ISCSI_FLAG_CMD_FINAL) || in iscsit_setup_text_cmd()
1968 (hdr->flags & ISCSI_FLAG_TEXT_CONTINUE)) { in iscsit_setup_text_cmd()
1971 (unsigned char *)hdr); in iscsit_setup_text_cmd()
1975 " ExpStatSN: 0x%08x, Length: %u\n", hdr->itt, hdr->cmdsn, in iscsit_setup_text_cmd()
1976 hdr->exp_statsn, payload_length); in iscsit_setup_text_cmd()
1980 cmd->immediate_cmd = ((hdr->opcode & ISCSI_OP_IMMEDIATE) ? 1 : 0); in iscsit_setup_text_cmd()
1981 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; in iscsit_setup_text_cmd()
1983 cmd->cmd_sn = be32_to_cpu(hdr->cmdsn); in iscsit_setup_text_cmd()
1984 cmd->exp_stat_sn = be32_to_cpu(hdr->exp_statsn); in iscsit_setup_text_cmd()
1994 struct iscsi_text *hdr) in iscsit_process_text_cmd() argument
2000 cmd->targ_xfer_tag = be32_to_cpu(hdr->ttt); in iscsit_process_text_cmd()
2034 iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); in iscsit_process_text_cmd()
2036 if (!(hdr->opcode & ISCSI_OP_IMMEDIATE)) { in iscsit_process_text_cmd()
2038 (unsigned char *)hdr, hdr->cmdsn); in iscsit_process_text_cmd()
2049 (unsigned char *)hdr); in iscsit_process_text_cmd()
2057 struct iscsi_text *hdr = (struct iscsi_text *)buf; in iscsit_handle_text_cmd() local
2059 u32 payload_length = ntoh24(hdr->dlength); in iscsit_handle_text_cmd()
2062 rc = iscsit_setup_text_cmd(conn, cmd, hdr); in iscsit_handle_text_cmd()
2125 " DataCRC error.\n", hdr->cmdsn); in iscsit_handle_text_cmd()
2140 return iscsit_process_text_cmd(conn, cmd, hdr); in iscsit_handle_text_cmd()
2261 struct iscsi_logout *hdr; in iscsit_handle_logout_cmd() local
2264 hdr = (struct iscsi_logout *) buf; in iscsit_handle_logout_cmd()
2265 reason_code = (hdr->flags & 0x7f); in iscsit_handle_logout_cmd()
2278 hdr->itt, hdr->cmdsn, hdr->exp_statsn, reason_code, in iscsit_handle_logout_cmd()
2279 hdr->cid, conn->cid); in iscsit_handle_logout_cmd()
2290 cmd->immediate_cmd = ((hdr->opcode & ISCSI_OP_IMMEDIATE) ? 1 : 0); in iscsit_handle_logout_cmd()
2291 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; in iscsit_handle_logout_cmd()
2293 cmd->cmd_sn = be32_to_cpu(hdr->cmdsn); in iscsit_handle_logout_cmd()
2294 cmd->exp_stat_sn = be32_to_cpu(hdr->exp_statsn); in iscsit_handle_logout_cmd()
2295 cmd->logout_cid = be16_to_cpu(hdr->cid); in iscsit_handle_logout_cmd()
2305 be16_to_cpu(hdr->cid) == conn->cid)) in iscsit_handle_logout_cmd()
2313 iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); in iscsit_handle_logout_cmd()
2325 cmdsn_ret = iscsit_sequence_cmd(conn, cmd, buf, hdr->cmdsn); in iscsit_handle_logout_cmd()
2340 struct iscsi_snack *hdr; in iscsit_handle_snack() local
2342 hdr = (struct iscsi_snack *) buf; in iscsit_handle_snack()
2343 hdr->flags &= ~ISCSI_FLAG_CMD_FINAL; in iscsit_handle_snack()
2347 " CID: %hu\n", hdr->itt, hdr->exp_statsn, hdr->flags, in iscsit_handle_snack()
2348 hdr->begrun, hdr->runlength, conn->cid); in iscsit_handle_snack()
2360 switch (hdr->flags & ISCSI_FLAG_SNACK_TYPE_MASK) { in iscsit_handle_snack()
2363 hdr->itt, in iscsit_handle_snack()
2364 be32_to_cpu(hdr->ttt), in iscsit_handle_snack()
2365 be32_to_cpu(hdr->begrun), in iscsit_handle_snack()
2366 be32_to_cpu(hdr->runlength)); in iscsit_handle_snack()
2368 return iscsit_handle_status_snack(conn, hdr->itt, in iscsit_handle_snack()
2369 be32_to_cpu(hdr->ttt), in iscsit_handle_snack()
2370 be32_to_cpu(hdr->begrun), be32_to_cpu(hdr->runlength)); in iscsit_handle_snack()
2372 return iscsit_handle_data_ack(conn, be32_to_cpu(hdr->ttt), in iscsit_handle_snack()
2373 be32_to_cpu(hdr->begrun), in iscsit_handle_snack()
2374 be32_to_cpu(hdr->runlength)); in iscsit_handle_snack()
2382 " error.\n", hdr->flags & 0x0f); in iscsit_handle_snack()
2402 struct iscsi_scsi_req *hdr, in iscsit_handle_immediate_data() argument
2458 (unsigned char *)hdr); in iscsit_handle_immediate_data()
2463 (unsigned char *)hdr); in iscsit_handle_immediate_data()
2533 struct iscsi_async *hdr; in iscsit_send_conn_drop_async_message() local
2538 hdr = (struct iscsi_async *) cmd->pdu; in iscsit_send_conn_drop_async_message()
2539 hdr->opcode = ISCSI_OP_ASYNC_EVENT; in iscsit_send_conn_drop_async_message()
2540 hdr->flags = ISCSI_FLAG_CMD_FINAL; in iscsit_send_conn_drop_async_message()
2543 put_unaligned_be64(0xFFFFFFFFFFFFFFFFULL, &hdr->rsvd4[0]); in iscsit_send_conn_drop_async_message()
2545 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_send_conn_drop_async_message()
2546 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_send_conn_drop_async_message()
2547 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_send_conn_drop_async_message()
2548 hdr->async_event = ISCSI_ASYNC_MSG_DROPPING_CONNECTION; in iscsit_send_conn_drop_async_message()
2549 hdr->param1 = cpu_to_be16(cmd->logout_cid); in iscsit_send_conn_drop_async_message()
2550 hdr->param2 = cpu_to_be16(conn->sess->sess_ops->DefaultTime2Wait); in iscsit_send_conn_drop_async_message()
2551 hdr->param3 = cpu_to_be16(conn->sess->sess_ops->DefaultTime2Retain); in iscsit_send_conn_drop_async_message()
2556 iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, hdr, in iscsit_send_conn_drop_async_message()
2586 struct iscsi_datain *datain, struct iscsi_data_rsp *hdr, in iscsit_build_datain_pdu() argument
2589 hdr->opcode = ISCSI_OP_SCSI_DATA_IN; in iscsit_build_datain_pdu()
2590 hdr->flags = datain->flags; in iscsit_build_datain_pdu()
2591 if (hdr->flags & ISCSI_FLAG_DATA_STATUS) { in iscsit_build_datain_pdu()
2593 hdr->flags |= ISCSI_FLAG_DATA_OVERFLOW; in iscsit_build_datain_pdu()
2594 hdr->residual_count = cpu_to_be32(cmd->se_cmd.residual_count); in iscsit_build_datain_pdu()
2596 hdr->flags |= ISCSI_FLAG_DATA_UNDERFLOW; in iscsit_build_datain_pdu()
2597 hdr->residual_count = cpu_to_be32(cmd->se_cmd.residual_count); in iscsit_build_datain_pdu()
2600 hton24(hdr->dlength, datain->length); in iscsit_build_datain_pdu()
2601 if (hdr->flags & ISCSI_FLAG_DATA_ACK) in iscsit_build_datain_pdu()
2603 (struct scsi_lun *)&hdr->lun); in iscsit_build_datain_pdu()
2605 put_unaligned_le64(0xFFFFFFFFFFFFFFFFULL, &hdr->lun); in iscsit_build_datain_pdu()
2607 hdr->itt = cmd->init_task_tag; in iscsit_build_datain_pdu()
2609 if (hdr->flags & ISCSI_FLAG_DATA_ACK) in iscsit_build_datain_pdu()
2610 hdr->ttt = cpu_to_be32(cmd->targ_xfer_tag); in iscsit_build_datain_pdu()
2612 hdr->ttt = cpu_to_be32(0xFFFFFFFF); in iscsit_build_datain_pdu()
2614 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_build_datain_pdu()
2616 hdr->statsn = cpu_to_be32(0xFFFFFFFF); in iscsit_build_datain_pdu()
2618 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_datain_pdu()
2619 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_build_datain_pdu()
2620 hdr->datasn = cpu_to_be32(datain->data_sn); in iscsit_build_datain_pdu()
2621 hdr->offset = cpu_to_be32(datain->offset); in iscsit_build_datain_pdu()
2625 cmd->init_task_tag, ntohl(hdr->statsn), ntohl(hdr->datasn), in iscsit_build_datain_pdu()
2626 ntohl(hdr->offset), datain->length, conn->cid); in iscsit_build_datain_pdu()
2631 struct iscsi_data_rsp *hdr = (struct iscsi_data_rsp *)&cmd->pdu[0]; in iscsit_send_datain() local
2676 iscsit_build_datain_pdu(cmd, conn, &datain, hdr, set_statsn); in iscsit_send_datain()
2748 struct iscsi_logout_rsp *hdr) in iscsit_build_logout_rsp() argument
2821 hdr->opcode = ISCSI_OP_LOGOUT_RSP; in iscsit_build_logout_rsp()
2822 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsit_build_logout_rsp()
2823 hdr->response = cmd->logout_response; in iscsit_build_logout_rsp()
2824 hdr->itt = cmd->init_task_tag; in iscsit_build_logout_rsp()
2826 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_build_logout_rsp()
2829 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_logout_rsp()
2830 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_build_logout_rsp()
2834 cmd->init_task_tag, cmd->stat_sn, hdr->response, in iscsit_build_logout_rsp()
2876 struct iscsi_nopin *hdr, bool nopout_response) in iscsit_build_nopin_rsp() argument
2878 hdr->opcode = ISCSI_OP_NOOP_IN; in iscsit_build_nopin_rsp()
2879 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsit_build_nopin_rsp()
2880 hton24(hdr->dlength, cmd->buf_ptr_size); in iscsit_build_nopin_rsp()
2882 put_unaligned_le64(0xFFFFFFFFFFFFFFFFULL, &hdr->lun); in iscsit_build_nopin_rsp()
2883 hdr->itt = cmd->init_task_tag; in iscsit_build_nopin_rsp()
2884 hdr->ttt = cpu_to_be32(cmd->targ_xfer_tag); in iscsit_build_nopin_rsp()
2887 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_build_nopin_rsp()
2892 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_nopin_rsp()
2893 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_build_nopin_rsp()
2910 struct iscsi_nopin *hdr = (struct iscsi_nopin *)&cmd->pdu[0]; in iscsit_send_unsolicited_nopin() local
2913 iscsit_build_nopin_rsp(cmd, conn, hdr, false); in iscsit_send_unsolicited_nopin()
2918 iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, hdr, in iscsit_send_unsolicited_nopin()
2932 " 0x%08x CID: %hu\n", hdr->ttt, cmd->stat_sn, conn->cid); in iscsit_send_unsolicited_nopin()
2951 struct iscsi_nopin *hdr = (struct iscsi_nopin *)&cmd->pdu[0]; in iscsit_send_nopin() local
2956 iscsit_build_nopin_rsp(cmd, conn, hdr, true); in iscsit_send_nopin()
2966 iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, hdr, in iscsit_send_nopin()
3022 struct iscsi_r2t_rsp *hdr; in iscsit_send_r2t() local
3029 hdr = (struct iscsi_r2t_rsp *) cmd->pdu; in iscsit_send_r2t()
3030 memset(hdr, 0, ISCSI_HDR_LEN); in iscsit_send_r2t()
3031 hdr->opcode = ISCSI_OP_R2T; in iscsit_send_r2t()
3032 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsit_send_r2t()
3034 (struct scsi_lun *)&hdr->lun); in iscsit_send_r2t()
3035 hdr->itt = cmd->init_task_tag; in iscsit_send_r2t()
3037 hdr->ttt = cpu_to_be32(r2t->targ_xfer_tag); in iscsit_send_r2t()
3038 hdr->statsn = cpu_to_be32(conn->stat_sn); in iscsit_send_r2t()
3039 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_send_r2t()
3040 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_send_r2t()
3041 hdr->r2tsn = cpu_to_be32(r2t->r2t_sn); in iscsit_send_r2t()
3042 hdr->data_offset = cpu_to_be32(r2t->offset); in iscsit_send_r2t()
3043 hdr->data_length = cpu_to_be32(r2t->xfer_len); in iscsit_send_r2t()
3052 iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, hdr, in iscsit_send_r2t()
3064 r2t->targ_xfer_tag, ntohl(hdr->statsn), r2t->r2t_sn, in iscsit_send_r2t()
3169 bool inc_stat_sn, struct iscsi_scsi_rsp *hdr) in iscsit_build_rsp_pdu() argument
3176 memset(hdr, 0, ISCSI_HDR_LEN); in iscsit_build_rsp_pdu()
3177 hdr->opcode = ISCSI_OP_SCSI_CMD_RSP; in iscsit_build_rsp_pdu()
3178 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsit_build_rsp_pdu()
3180 hdr->flags |= ISCSI_FLAG_CMD_OVERFLOW; in iscsit_build_rsp_pdu()
3181 hdr->residual_count = cpu_to_be32(cmd->se_cmd.residual_count); in iscsit_build_rsp_pdu()
3183 hdr->flags |= ISCSI_FLAG_CMD_UNDERFLOW; in iscsit_build_rsp_pdu()
3184 hdr->residual_count = cpu_to_be32(cmd->se_cmd.residual_count); in iscsit_build_rsp_pdu()
3186 hdr->response = cmd->iscsi_response; in iscsit_build_rsp_pdu()
3187 hdr->cmd_status = cmd->se_cmd.scsi_status; in iscsit_build_rsp_pdu()
3188 hdr->itt = cmd->init_task_tag; in iscsit_build_rsp_pdu()
3189 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_build_rsp_pdu()
3192 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_rsp_pdu()
3193 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_build_rsp_pdu()
3204 struct iscsi_scsi_rsp *hdr = (struct iscsi_scsi_rsp *)&cmd->pdu[0]; in iscsit_send_response() local
3210 iscsit_build_rsp_pdu(cmd, conn, inc_stat_sn, hdr); in iscsit_send_response()
3227 hton24(hdr->dlength, (u32)cmd->se_cmd.scsi_sense_length); in iscsit_send_response()
3299 struct iscsi_tm_rsp *hdr) in iscsit_build_task_mgt_rsp() argument
3303 hdr->opcode = ISCSI_OP_SCSI_TMFUNC_RSP; in iscsit_build_task_mgt_rsp()
3304 hdr->flags = ISCSI_FLAG_CMD_FINAL; in iscsit_build_task_mgt_rsp()
3305 hdr->response = iscsit_convert_tcm_tmr_rsp(se_tmr); in iscsit_build_task_mgt_rsp()
3306 hdr->itt = cmd->init_task_tag; in iscsit_build_task_mgt_rsp()
3308 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_build_task_mgt_rsp()
3311 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_task_mgt_rsp()
3312 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_build_task_mgt_rsp()
3316 cmd->init_task_tag, cmd->stat_sn, hdr->response, conn->cid); in iscsit_build_task_mgt_rsp()
3323 struct iscsi_tm_rsp *hdr = (struct iscsi_tm_rsp *)&cmd->pdu[0]; in iscsit_send_task_mgt_rsp() local
3326 iscsit_build_task_mgt_rsp(cmd, conn, hdr); in iscsit_send_task_mgt_rsp()
3335 iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, hdr, in iscsit_send_task_mgt_rsp()
3531 struct iscsi_text_rsp *hdr, in iscsit_build_text_rsp() argument
3544 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsit_build_text_rsp()
3546 hdr->flags |= ISCSI_FLAG_TEXT_CONTINUE; in iscsit_build_text_rsp()
3551 hdr->opcode = ISCSI_OP_TEXT_RSP; in iscsit_build_text_rsp()
3553 hton24(hdr->dlength, text_length); in iscsit_build_text_rsp()
3554 hdr->itt = cmd->init_task_tag; in iscsit_build_text_rsp()
3555 hdr->ttt = cpu_to_be32(cmd->targ_xfer_tag); in iscsit_build_text_rsp()
3557 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_build_text_rsp()
3566 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_text_rsp()
3567 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_build_text_rsp()
3572 !!(hdr->flags & ISCSI_FLAG_CMD_FINAL), in iscsit_build_text_rsp()
3573 !!(hdr->flags & ISCSI_FLAG_TEXT_CONTINUE)); in iscsit_build_text_rsp()
3583 struct iscsi_text_rsp *hdr = (struct iscsi_text_rsp *)cmd->pdu; in iscsit_send_text_rsp() local
3588 rc = iscsit_build_text_rsp(cmd, conn, hdr, ISCSI_TCP); in iscsit_send_text_rsp()
3604 iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, hdr, in iscsit_send_text_rsp()
3635 struct iscsi_reject *hdr) in iscsit_build_reject() argument
3637 hdr->opcode = ISCSI_OP_REJECT; in iscsit_build_reject()
3638 hdr->reason = cmd->reject_reason; in iscsit_build_reject()
3639 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsit_build_reject()
3640 hton24(hdr->dlength, ISCSI_HDR_LEN); in iscsit_build_reject()
3641 hdr->ffffffff = cpu_to_be32(0xffffffff); in iscsit_build_reject()
3643 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_build_reject()
3644 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_reject()
3645 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_build_reject()
3654 struct iscsi_reject *hdr = (struct iscsi_reject *)&cmd->pdu[0]; in iscsit_send_reject() local
3658 iscsit_build_reject(cmd, conn, hdr); in iscsit_send_reject()
3671 iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, hdr, in iscsit_send_reject()
3695 " CID: %hu\n", ntohl(hdr->statsn), hdr->reason, conn->cid); in iscsit_send_reject()
4002 struct iscsi_hdr *hdr = (struct iscsi_hdr *)buf; in iscsi_target_rx_opcode() local
4006 switch (hdr->opcode & ISCSI_OPCODE_MASK) { in iscsi_target_rx_opcode()
4019 if (hdr->ttt == cpu_to_be32(0xFFFFFFFF)) { in iscsi_target_rx_opcode()
4034 if (hdr->ttt != cpu_to_be32(0xFFFFFFFF)) { in iscsi_target_rx_opcode()
4035 cmd = iscsit_find_cmd_from_itt(conn, hdr->itt); in iscsi_target_rx_opcode()
4060 pr_err("Got unknown iSCSI OpCode: 0x%02x\n", hdr->opcode); in iscsi_target_rx_opcode()