Lines Matching refs:hdr
832 struct iscsi_scsi_req *hdr; in iscsit_setup_scsi_cmd() local
838 hdr = (struct iscsi_scsi_req *) buf; in iscsit_setup_scsi_cmd()
839 payload_length = ntoh24(hdr->dlength); in iscsit_setup_scsi_cmd()
843 if (!(hdr->flags & ISCSI_FLAG_CMD_WRITE) && in iscsit_setup_scsi_cmd()
844 !(hdr->flags & ISCSI_FLAG_CMD_FINAL)) { in iscsit_setup_scsi_cmd()
851 if (((hdr->flags & ISCSI_FLAG_CMD_READ) || in iscsit_setup_scsi_cmd()
852 (hdr->flags & ISCSI_FLAG_CMD_WRITE)) && !hdr->data_length) { in iscsit_setup_scsi_cmd()
863 hdr->flags &= ~ISCSI_FLAG_CMD_READ; in iscsit_setup_scsi_cmd()
864 hdr->flags &= ~ISCSI_FLAG_CMD_WRITE; in iscsit_setup_scsi_cmd()
868 " CDB: 0x%02x, Fixing up flags\n", hdr->cdb[0]); in iscsit_setup_scsi_cmd()
871 if (!(hdr->flags & ISCSI_FLAG_CMD_READ) && in iscsit_setup_scsi_cmd()
872 !(hdr->flags & ISCSI_FLAG_CMD_WRITE) && (hdr->data_length != 0)) { in iscsit_setup_scsi_cmd()
880 if ((hdr->flags & ISCSI_FLAG_CMD_READ) && in iscsit_setup_scsi_cmd()
881 (hdr->flags & ISCSI_FLAG_CMD_WRITE)) { in iscsit_setup_scsi_cmd()
887 if (hdr->opcode & ISCSI_OP_IMMEDIATE) { in iscsit_setup_scsi_cmd()
901 if ((be32_to_cpu(hdr->data_length) == payload_length) && in iscsit_setup_scsi_cmd()
902 (!(hdr->flags & ISCSI_FLAG_CMD_FINAL))) { in iscsit_setup_scsi_cmd()
910 if (payload_length > be32_to_cpu(hdr->data_length)) { in iscsit_setup_scsi_cmd()
913 hdr->data_length); in iscsit_setup_scsi_cmd()
934 data_direction = (hdr->flags & ISCSI_FLAG_CMD_WRITE) ? DMA_TO_DEVICE : in iscsit_setup_scsi_cmd()
935 (hdr->flags & ISCSI_FLAG_CMD_READ) ? DMA_FROM_DEVICE : in iscsit_setup_scsi_cmd()
939 iscsi_task_attr = hdr->flags & ISCSI_FLAG_CMD_ATTR_MASK; in iscsit_setup_scsi_cmd()
960 cmd->immediate_cmd = ((hdr->opcode & ISCSI_OP_IMMEDIATE) ? 1 : 0); in iscsit_setup_scsi_cmd()
962 cmd->unsolicited_data = ((!(hdr->flags & ISCSI_FLAG_CMD_FINAL) && in iscsit_setup_scsi_cmd()
963 (hdr->flags & ISCSI_FLAG_CMD_WRITE)) ? 1 : 0); in iscsit_setup_scsi_cmd()
967 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; in iscsit_setup_scsi_cmd()
968 if (hdr->flags & ISCSI_FLAG_CMD_READ) in iscsit_setup_scsi_cmd()
972 cmd->cmd_sn = be32_to_cpu(hdr->cmdsn); in iscsit_setup_scsi_cmd()
973 cmd->exp_stat_sn = be32_to_cpu(hdr->exp_statsn); in iscsit_setup_scsi_cmd()
992 conn->sess->se_sess, be32_to_cpu(hdr->data_length), in iscsit_setup_scsi_cmd()
997 " ExpXferLen: %u, Length: %u, CID: %hu\n", hdr->itt, in iscsit_setup_scsi_cmd()
998 hdr->cmdsn, be32_to_cpu(hdr->data_length), payload_length, in iscsit_setup_scsi_cmd()
1004 scsilun_to_int(&hdr->lun)); in iscsit_setup_scsi_cmd()
1008 cmd->sense_reason = target_setup_cmd_from_cdb(&cmd->se_cmd, hdr->cdb); in iscsit_setup_scsi_cmd()
1048 struct iscsi_scsi_req *hdr) in iscsit_process_scsi_cmd() argument
1063 (unsigned char *)hdr, hdr->cmdsn); in iscsit_process_scsi_cmd()
1072 iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); in iscsit_process_scsi_cmd()
1111 iscsit_get_immediate_data(struct iscsi_cmd *cmd, struct iscsi_scsi_req *hdr, in iscsit_get_immediate_data() argument
1121 immed_ret = iscsit_handle_immediate_data(cmd, hdr, in iscsit_get_immediate_data()
1131 (unsigned char *)hdr, hdr->cmdsn); in iscsit_get_immediate_data()
1169 struct iscsi_scsi_req *hdr = (struct iscsi_scsi_req *)buf; in iscsit_handle_scsi_cmd() local
1186 rc = iscsit_process_scsi_cmd(conn, cmd, hdr); in iscsit_handle_scsi_cmd()
1195 return iscsit_get_immediate_data(cmd, hdr, dump_payload); in iscsit_handle_scsi_cmd()
1264 struct iscsi_data *hdr = (struct iscsi_data *)buf; in iscsit_check_dataout_hdr() local
1267 u32 payload_length = ntoh24(hdr->dlength); in iscsit_check_dataout_hdr()
1286 cmd = iscsit_find_cmd_from_itt_or_dump(conn, hdr->itt, in iscsit_check_dataout_hdr()
1293 hdr->itt, hdr->ttt, hdr->datasn, ntohl(hdr->offset), in iscsit_check_dataout_hdr()
1311 if ((be32_to_cpu(hdr->offset) + payload_length) > cmd->se_cmd.data_length) { in iscsit_check_dataout_hdr()
1314 hdr->offset, payload_length, cmd->se_cmd.data_length); in iscsit_check_dataout_hdr()
1345 if (hdr->flags & ISCSI_FLAG_CMD_FINAL) in iscsit_check_dataout_hdr()
1349 (hdr->flags & ISCSI_FLAG_CMD_FINAL)); in iscsit_check_dataout_hdr()
1364 if (hdr->flags & ISCSI_FLAG_CMD_FINAL) in iscsit_check_dataout_hdr()
1391 struct iscsi_data *hdr) in iscsit_get_dataout() argument
1395 u32 payload_length = ntoh24(hdr->dlength); in iscsit_get_dataout()
1401 iov_ret = iscsit_map_iovec(cmd, iov, be32_to_cpu(hdr->offset), in iscsit_get_dataout()
1433 be32_to_cpu(hdr->offset), in iscsit_get_dataout()
1441 hdr->itt, hdr->offset, payload_length, in iscsit_get_dataout()
1442 hdr->datasn, checksum, data_crc); in iscsit_get_dataout()
1455 iscsit_check_dataout_payload(struct iscsi_cmd *cmd, struct iscsi_data *hdr, in iscsit_check_dataout_payload() argument
1464 rc = iscsit_check_post_dataout(cmd, (unsigned char *)hdr, data_crc_failed); in iscsit_check_dataout_payload()
1496 struct iscsi_data *hdr = (struct iscsi_data *)buf; in iscsit_handle_data_out() local
1506 rc = iscsit_get_dataout(conn, cmd, hdr); in iscsit_handle_data_out()
1512 return iscsit_check_dataout_payload(cmd, hdr, data_crc_failed); in iscsit_handle_data_out()
1516 struct iscsi_nopout *hdr) in iscsit_setup_nop_out() argument
1518 u32 payload_length = ntoh24(hdr->dlength); in iscsit_setup_nop_out()
1520 if (!(hdr->flags & ISCSI_FLAG_CMD_FINAL)) { in iscsit_setup_nop_out()
1524 (unsigned char *)hdr); in iscsit_setup_nop_out()
1527 (unsigned char *)hdr); in iscsit_setup_nop_out()
1530 if (hdr->itt == RESERVED_ITT && !(hdr->opcode & ISCSI_OP_IMMEDIATE)) { in iscsit_setup_nop_out()
1535 (unsigned char *)hdr); in iscsit_setup_nop_out()
1538 (unsigned char *)hdr); in iscsit_setup_nop_out()
1548 (unsigned char *)hdr); in iscsit_setup_nop_out()
1551 (unsigned char *)hdr); in iscsit_setup_nop_out()
1556 hdr->itt == RESERVED_ITT ? "Response" : "Request", in iscsit_setup_nop_out()
1557 hdr->itt, hdr->ttt, hdr->cmdsn, hdr->exp_statsn, in iscsit_setup_nop_out()
1566 if (hdr->ttt == cpu_to_be32(0xFFFFFFFF)) { in iscsit_setup_nop_out()
1569 cmd->immediate_cmd = ((hdr->opcode & ISCSI_OP_IMMEDIATE) ? in iscsit_setup_nop_out()
1571 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; in iscsit_setup_nop_out()
1573 cmd->cmd_sn = be32_to_cpu(hdr->cmdsn); in iscsit_setup_nop_out()
1574 cmd->exp_stat_sn = be32_to_cpu(hdr->exp_statsn); in iscsit_setup_nop_out()
1583 struct iscsi_nopout *hdr) in iscsit_process_nop_out() argument
1590 if (hdr->itt != RESERVED_ITT) { in iscsit_process_nop_out()
1593 (unsigned char *)hdr); in iscsit_process_nop_out()
1599 iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); in iscsit_process_nop_out()
1601 if (hdr->opcode & ISCSI_OP_IMMEDIATE) { in iscsit_process_nop_out()
1608 (unsigned char *)hdr, hdr->cmdsn); in iscsit_process_nop_out()
1619 if (hdr->ttt != cpu_to_be32(0xFFFFFFFF)) { in iscsit_process_nop_out()
1620 cmd_p = iscsit_find_cmd_from_ttt(conn, be32_to_cpu(hdr->ttt)); in iscsit_process_nop_out()
1644 struct iscsi_nopout *hdr = (struct iscsi_nopout *)buf; in iscsit_handle_nop_out() local
1646 u32 payload_length = ntoh24(hdr->dlength); in iscsit_handle_nop_out()
1649 ret = iscsit_setup_nop_out(conn, cmd, hdr); in iscsit_handle_nop_out()
1655 if (payload_length && hdr->ttt == cpu_to_be32(0xFFFFFFFF)) { in iscsit_handle_nop_out()
1714 " DataCRC error.\n", hdr->cmdsn); in iscsit_handle_nop_out()
1737 return iscsit_process_nop_out(conn, cmd, hdr); in iscsit_handle_nop_out()
1752 struct iscsi_tm *hdr; in iscsit_handle_task_mgt_cmd() local
1757 hdr = (struct iscsi_tm *) buf; in iscsit_handle_task_mgt_cmd()
1758 hdr->flags &= ~ISCSI_FLAG_CMD_FINAL; in iscsit_handle_task_mgt_cmd()
1759 function = hdr->flags; in iscsit_handle_task_mgt_cmd()
1763 " 0x%08x, CID: %hu\n", hdr->itt, hdr->cmdsn, function, in iscsit_handle_task_mgt_cmd()
1764 hdr->rtt, hdr->refcmdsn, conn->cid); in iscsit_handle_task_mgt_cmd()
1768 hdr->rtt != RESERVED_ITT)) { in iscsit_handle_task_mgt_cmd()
1770 hdr->rtt = RESERVED_ITT; in iscsit_handle_task_mgt_cmd()
1774 !(hdr->opcode & ISCSI_OP_IMMEDIATE)) { in iscsit_handle_task_mgt_cmd()
1782 be32_to_cpu(hdr->refcmdsn) != ISCSI_RESERVED_TAG) in iscsit_handle_task_mgt_cmd()
1783 hdr->refcmdsn = cpu_to_be32(ISCSI_RESERVED_TAG); in iscsit_handle_task_mgt_cmd()
1852 cmd->immediate_cmd = ((hdr->opcode & ISCSI_OP_IMMEDIATE) ? 1 : 0); in iscsit_handle_task_mgt_cmd()
1853 cmd->init_task_tag = hdr->itt; in iscsit_handle_task_mgt_cmd()
1855 cmd->cmd_sn = be32_to_cpu(hdr->cmdsn); in iscsit_handle_task_mgt_cmd()
1856 cmd->exp_stat_sn = be32_to_cpu(hdr->exp_statsn); in iscsit_handle_task_mgt_cmd()
1864 scsilun_to_int(&hdr->lun)); in iscsit_handle_task_mgt_cmd()
1922 if (!(hdr->opcode & ISCSI_OP_IMMEDIATE)) { in iscsit_handle_task_mgt_cmd()
1923 int cmdsn_ret = iscsit_sequence_cmd(conn, cmd, buf, hdr->cmdsn); in iscsit_handle_task_mgt_cmd()
1931 iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); in iscsit_handle_task_mgt_cmd()
1933 if (out_of_order_cmdsn || !(hdr->opcode & ISCSI_OP_IMMEDIATE)) in iscsit_handle_task_mgt_cmd()
1962 struct iscsi_text *hdr) in iscsit_setup_text_cmd() argument
1964 u32 payload_length = ntoh24(hdr->dlength); in iscsit_setup_text_cmd()
1971 (unsigned char *)hdr); in iscsit_setup_text_cmd()
1974 if (!(hdr->flags & ISCSI_FLAG_CMD_FINAL) || in iscsit_setup_text_cmd()
1975 (hdr->flags & ISCSI_FLAG_TEXT_CONTINUE)) { in iscsit_setup_text_cmd()
1978 (unsigned char *)hdr); in iscsit_setup_text_cmd()
1982 " ExpStatSN: 0x%08x, Length: %u\n", hdr->itt, hdr->cmdsn, in iscsit_setup_text_cmd()
1983 hdr->exp_statsn, payload_length); in iscsit_setup_text_cmd()
1987 cmd->immediate_cmd = ((hdr->opcode & ISCSI_OP_IMMEDIATE) ? 1 : 0); in iscsit_setup_text_cmd()
1988 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; in iscsit_setup_text_cmd()
1990 cmd->cmd_sn = be32_to_cpu(hdr->cmdsn); in iscsit_setup_text_cmd()
1991 cmd->exp_stat_sn = be32_to_cpu(hdr->exp_statsn); in iscsit_setup_text_cmd()
2001 struct iscsi_text *hdr) in iscsit_process_text_cmd() argument
2007 cmd->targ_xfer_tag = be32_to_cpu(hdr->ttt); in iscsit_process_text_cmd()
2041 iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); in iscsit_process_text_cmd()
2043 if (!(hdr->opcode & ISCSI_OP_IMMEDIATE)) { in iscsit_process_text_cmd()
2045 (unsigned char *)hdr, hdr->cmdsn); in iscsit_process_text_cmd()
2056 (unsigned char *)hdr); in iscsit_process_text_cmd()
2064 struct iscsi_text *hdr = (struct iscsi_text *)buf; in iscsit_handle_text_cmd() local
2066 u32 payload_length = ntoh24(hdr->dlength); in iscsit_handle_text_cmd()
2069 rc = iscsit_setup_text_cmd(conn, cmd, hdr); in iscsit_handle_text_cmd()
2132 " DataCRC error.\n", hdr->cmdsn); in iscsit_handle_text_cmd()
2147 return iscsit_process_text_cmd(conn, cmd, hdr); in iscsit_handle_text_cmd()
2268 struct iscsi_logout *hdr; in iscsit_handle_logout_cmd() local
2271 hdr = (struct iscsi_logout *) buf; in iscsit_handle_logout_cmd()
2272 reason_code = (hdr->flags & 0x7f); in iscsit_handle_logout_cmd()
2285 hdr->itt, hdr->cmdsn, hdr->exp_statsn, reason_code, in iscsit_handle_logout_cmd()
2286 hdr->cid, conn->cid); in iscsit_handle_logout_cmd()
2297 cmd->immediate_cmd = ((hdr->opcode & ISCSI_OP_IMMEDIATE) ? 1 : 0); in iscsit_handle_logout_cmd()
2298 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; in iscsit_handle_logout_cmd()
2300 cmd->cmd_sn = be32_to_cpu(hdr->cmdsn); in iscsit_handle_logout_cmd()
2301 cmd->exp_stat_sn = be32_to_cpu(hdr->exp_statsn); in iscsit_handle_logout_cmd()
2302 cmd->logout_cid = be16_to_cpu(hdr->cid); in iscsit_handle_logout_cmd()
2312 be16_to_cpu(hdr->cid) == conn->cid)) in iscsit_handle_logout_cmd()
2320 iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); in iscsit_handle_logout_cmd()
2332 cmdsn_ret = iscsit_sequence_cmd(conn, cmd, buf, hdr->cmdsn); in iscsit_handle_logout_cmd()
2347 struct iscsi_snack *hdr; in iscsit_handle_snack() local
2349 hdr = (struct iscsi_snack *) buf; in iscsit_handle_snack()
2350 hdr->flags &= ~ISCSI_FLAG_CMD_FINAL; in iscsit_handle_snack()
2354 " CID: %hu\n", hdr->itt, hdr->exp_statsn, hdr->flags, in iscsit_handle_snack()
2355 hdr->begrun, hdr->runlength, conn->cid); in iscsit_handle_snack()
2367 switch (hdr->flags & ISCSI_FLAG_SNACK_TYPE_MASK) { in iscsit_handle_snack()
2370 hdr->itt, in iscsit_handle_snack()
2371 be32_to_cpu(hdr->ttt), in iscsit_handle_snack()
2372 be32_to_cpu(hdr->begrun), in iscsit_handle_snack()
2373 be32_to_cpu(hdr->runlength)); in iscsit_handle_snack()
2375 return iscsit_handle_status_snack(conn, hdr->itt, in iscsit_handle_snack()
2376 be32_to_cpu(hdr->ttt), in iscsit_handle_snack()
2377 be32_to_cpu(hdr->begrun), be32_to_cpu(hdr->runlength)); in iscsit_handle_snack()
2379 return iscsit_handle_data_ack(conn, be32_to_cpu(hdr->ttt), in iscsit_handle_snack()
2380 be32_to_cpu(hdr->begrun), in iscsit_handle_snack()
2381 be32_to_cpu(hdr->runlength)); in iscsit_handle_snack()
2389 " error.\n", hdr->flags & 0x0f); in iscsit_handle_snack()
2409 struct iscsi_scsi_req *hdr, in iscsit_handle_immediate_data() argument
2465 (unsigned char *)hdr); in iscsit_handle_immediate_data()
2470 (unsigned char *)hdr); in iscsit_handle_immediate_data()
2540 struct iscsi_async *hdr; in iscsit_send_conn_drop_async_message() local
2545 hdr = (struct iscsi_async *) cmd->pdu; in iscsit_send_conn_drop_async_message()
2546 hdr->opcode = ISCSI_OP_ASYNC_EVENT; in iscsit_send_conn_drop_async_message()
2547 hdr->flags = ISCSI_FLAG_CMD_FINAL; in iscsit_send_conn_drop_async_message()
2550 put_unaligned_be64(0xFFFFFFFFFFFFFFFFULL, &hdr->rsvd4[0]); in iscsit_send_conn_drop_async_message()
2552 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_send_conn_drop_async_message()
2553 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_send_conn_drop_async_message()
2554 hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn); in iscsit_send_conn_drop_async_message()
2555 hdr->async_event = ISCSI_ASYNC_MSG_DROPPING_CONNECTION; in iscsit_send_conn_drop_async_message()
2556 hdr->param1 = cpu_to_be16(cmd->logout_cid); in iscsit_send_conn_drop_async_message()
2557 hdr->param2 = cpu_to_be16(conn->sess->sess_ops->DefaultTime2Wait); in iscsit_send_conn_drop_async_message()
2558 hdr->param3 = cpu_to_be16(conn->sess->sess_ops->DefaultTime2Retain); in iscsit_send_conn_drop_async_message()
2563 iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, hdr, in iscsit_send_conn_drop_async_message()
2593 struct iscsi_datain *datain, struct iscsi_data_rsp *hdr, in iscsit_build_datain_pdu() argument
2596 hdr->opcode = ISCSI_OP_SCSI_DATA_IN; in iscsit_build_datain_pdu()
2597 hdr->flags = datain->flags; in iscsit_build_datain_pdu()
2598 if (hdr->flags & ISCSI_FLAG_DATA_STATUS) { in iscsit_build_datain_pdu()
2600 hdr->flags |= ISCSI_FLAG_DATA_OVERFLOW; in iscsit_build_datain_pdu()
2601 hdr->residual_count = cpu_to_be32(cmd->se_cmd.residual_count); in iscsit_build_datain_pdu()
2603 hdr->flags |= ISCSI_FLAG_DATA_UNDERFLOW; in iscsit_build_datain_pdu()
2604 hdr->residual_count = cpu_to_be32(cmd->se_cmd.residual_count); in iscsit_build_datain_pdu()
2607 hton24(hdr->dlength, datain->length); in iscsit_build_datain_pdu()
2608 if (hdr->flags & ISCSI_FLAG_DATA_ACK) in iscsit_build_datain_pdu()
2610 (struct scsi_lun *)&hdr->lun); in iscsit_build_datain_pdu()
2612 put_unaligned_le64(0xFFFFFFFFFFFFFFFFULL, &hdr->lun); in iscsit_build_datain_pdu()
2614 hdr->itt = cmd->init_task_tag; in iscsit_build_datain_pdu()
2616 if (hdr->flags & ISCSI_FLAG_DATA_ACK) in iscsit_build_datain_pdu()
2617 hdr->ttt = cpu_to_be32(cmd->targ_xfer_tag); in iscsit_build_datain_pdu()
2619 hdr->ttt = cpu_to_be32(0xFFFFFFFF); in iscsit_build_datain_pdu()
2621 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_build_datain_pdu()
2623 hdr->statsn = cpu_to_be32(0xFFFFFFFF); in iscsit_build_datain_pdu()
2625 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_datain_pdu()
2626 hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn); in iscsit_build_datain_pdu()
2627 hdr->datasn = cpu_to_be32(datain->data_sn); in iscsit_build_datain_pdu()
2628 hdr->offset = cpu_to_be32(datain->offset); in iscsit_build_datain_pdu()
2632 cmd->init_task_tag, ntohl(hdr->statsn), ntohl(hdr->datasn), in iscsit_build_datain_pdu()
2633 ntohl(hdr->offset), datain->length, conn->cid); in iscsit_build_datain_pdu()
2638 struct iscsi_data_rsp *hdr = (struct iscsi_data_rsp *)&cmd->pdu[0]; in iscsit_send_datain() local
2683 iscsit_build_datain_pdu(cmd, conn, &datain, hdr, set_statsn); in iscsit_send_datain()
2759 struct iscsi_logout_rsp *hdr) in iscsit_build_logout_rsp() argument
2832 hdr->opcode = ISCSI_OP_LOGOUT_RSP; in iscsit_build_logout_rsp()
2833 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsit_build_logout_rsp()
2834 hdr->response = cmd->logout_response; in iscsit_build_logout_rsp()
2835 hdr->itt = cmd->init_task_tag; in iscsit_build_logout_rsp()
2837 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_build_logout_rsp()
2840 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_logout_rsp()
2841 hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn); in iscsit_build_logout_rsp()
2845 cmd->init_task_tag, cmd->stat_sn, hdr->response, in iscsit_build_logout_rsp()
2887 struct iscsi_nopin *hdr, bool nopout_response) in iscsit_build_nopin_rsp() argument
2889 hdr->opcode = ISCSI_OP_NOOP_IN; in iscsit_build_nopin_rsp()
2890 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsit_build_nopin_rsp()
2891 hton24(hdr->dlength, cmd->buf_ptr_size); in iscsit_build_nopin_rsp()
2893 put_unaligned_le64(0xFFFFFFFFFFFFFFFFULL, &hdr->lun); in iscsit_build_nopin_rsp()
2894 hdr->itt = cmd->init_task_tag; in iscsit_build_nopin_rsp()
2895 hdr->ttt = cpu_to_be32(cmd->targ_xfer_tag); in iscsit_build_nopin_rsp()
2898 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_build_nopin_rsp()
2903 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_nopin_rsp()
2904 hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn); in iscsit_build_nopin_rsp()
2921 struct iscsi_nopin *hdr = (struct iscsi_nopin *)&cmd->pdu[0]; in iscsit_send_unsolicited_nopin() local
2924 iscsit_build_nopin_rsp(cmd, conn, hdr, false); in iscsit_send_unsolicited_nopin()
2929 iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, hdr, in iscsit_send_unsolicited_nopin()
2943 " 0x%08x CID: %hu\n", hdr->ttt, cmd->stat_sn, conn->cid); in iscsit_send_unsolicited_nopin()
2962 struct iscsi_nopin *hdr = (struct iscsi_nopin *)&cmd->pdu[0]; in iscsit_send_nopin() local
2967 iscsit_build_nopin_rsp(cmd, conn, hdr, true); in iscsit_send_nopin()
2977 iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, hdr, in iscsit_send_nopin()
3033 struct iscsi_r2t_rsp *hdr; in iscsit_send_r2t() local
3040 hdr = (struct iscsi_r2t_rsp *) cmd->pdu; in iscsit_send_r2t()
3041 memset(hdr, 0, ISCSI_HDR_LEN); in iscsit_send_r2t()
3042 hdr->opcode = ISCSI_OP_R2T; in iscsit_send_r2t()
3043 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsit_send_r2t()
3045 (struct scsi_lun *)&hdr->lun); in iscsit_send_r2t()
3046 hdr->itt = cmd->init_task_tag; in iscsit_send_r2t()
3048 hdr->ttt = cpu_to_be32(r2t->targ_xfer_tag); in iscsit_send_r2t()
3049 hdr->statsn = cpu_to_be32(conn->stat_sn); in iscsit_send_r2t()
3050 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_send_r2t()
3051 hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn); in iscsit_send_r2t()
3052 hdr->r2tsn = cpu_to_be32(r2t->r2t_sn); in iscsit_send_r2t()
3053 hdr->data_offset = cpu_to_be32(r2t->offset); in iscsit_send_r2t()
3054 hdr->data_length = cpu_to_be32(r2t->xfer_len); in iscsit_send_r2t()
3063 iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, hdr, in iscsit_send_r2t()
3075 r2t->targ_xfer_tag, ntohl(hdr->statsn), r2t->r2t_sn, in iscsit_send_r2t()
3180 bool inc_stat_sn, struct iscsi_scsi_rsp *hdr) in iscsit_build_rsp_pdu() argument
3187 memset(hdr, 0, ISCSI_HDR_LEN); in iscsit_build_rsp_pdu()
3188 hdr->opcode = ISCSI_OP_SCSI_CMD_RSP; in iscsit_build_rsp_pdu()
3189 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsit_build_rsp_pdu()
3191 hdr->flags |= ISCSI_FLAG_CMD_OVERFLOW; in iscsit_build_rsp_pdu()
3192 hdr->residual_count = cpu_to_be32(cmd->se_cmd.residual_count); in iscsit_build_rsp_pdu()
3194 hdr->flags |= ISCSI_FLAG_CMD_UNDERFLOW; in iscsit_build_rsp_pdu()
3195 hdr->residual_count = cpu_to_be32(cmd->se_cmd.residual_count); in iscsit_build_rsp_pdu()
3197 hdr->response = cmd->iscsi_response; in iscsit_build_rsp_pdu()
3198 hdr->cmd_status = cmd->se_cmd.scsi_status; in iscsit_build_rsp_pdu()
3199 hdr->itt = cmd->init_task_tag; in iscsit_build_rsp_pdu()
3200 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_build_rsp_pdu()
3203 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_rsp_pdu()
3204 hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn); in iscsit_build_rsp_pdu()
3215 struct iscsi_scsi_rsp *hdr = (struct iscsi_scsi_rsp *)&cmd->pdu[0]; in iscsit_send_response() local
3221 iscsit_build_rsp_pdu(cmd, conn, inc_stat_sn, hdr); in iscsit_send_response()
3238 hton24(hdr->dlength, (u32)cmd->se_cmd.scsi_sense_length); in iscsit_send_response()
3310 struct iscsi_tm_rsp *hdr) in iscsit_build_task_mgt_rsp() argument
3314 hdr->opcode = ISCSI_OP_SCSI_TMFUNC_RSP; in iscsit_build_task_mgt_rsp()
3315 hdr->flags = ISCSI_FLAG_CMD_FINAL; in iscsit_build_task_mgt_rsp()
3316 hdr->response = iscsit_convert_tcm_tmr_rsp(se_tmr); in iscsit_build_task_mgt_rsp()
3317 hdr->itt = cmd->init_task_tag; in iscsit_build_task_mgt_rsp()
3319 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_build_task_mgt_rsp()
3322 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_task_mgt_rsp()
3323 hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn); in iscsit_build_task_mgt_rsp()
3327 cmd->init_task_tag, cmd->stat_sn, hdr->response, conn->cid); in iscsit_build_task_mgt_rsp()
3334 struct iscsi_tm_rsp *hdr = (struct iscsi_tm_rsp *)&cmd->pdu[0]; in iscsit_send_task_mgt_rsp() local
3337 iscsit_build_task_mgt_rsp(cmd, conn, hdr); in iscsit_send_task_mgt_rsp()
3346 iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, hdr, in iscsit_send_task_mgt_rsp()
3544 struct iscsi_text_rsp *hdr, in iscsit_build_text_rsp() argument
3557 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsit_build_text_rsp()
3559 hdr->flags |= ISCSI_FLAG_TEXT_CONTINUE; in iscsit_build_text_rsp()
3564 hdr->opcode = ISCSI_OP_TEXT_RSP; in iscsit_build_text_rsp()
3566 hton24(hdr->dlength, text_length); in iscsit_build_text_rsp()
3567 hdr->itt = cmd->init_task_tag; in iscsit_build_text_rsp()
3568 hdr->ttt = cpu_to_be32(cmd->targ_xfer_tag); in iscsit_build_text_rsp()
3570 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_build_text_rsp()
3579 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_text_rsp()
3580 hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn); in iscsit_build_text_rsp()
3585 !!(hdr->flags & ISCSI_FLAG_CMD_FINAL), in iscsit_build_text_rsp()
3586 !!(hdr->flags & ISCSI_FLAG_TEXT_CONTINUE)); in iscsit_build_text_rsp()
3596 struct iscsi_text_rsp *hdr = (struct iscsi_text_rsp *)cmd->pdu; in iscsit_send_text_rsp() local
3601 rc = iscsit_build_text_rsp(cmd, conn, hdr, ISCSI_TCP); in iscsit_send_text_rsp()
3617 iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, hdr, in iscsit_send_text_rsp()
3648 struct iscsi_reject *hdr) in iscsit_build_reject() argument
3650 hdr->opcode = ISCSI_OP_REJECT; in iscsit_build_reject()
3651 hdr->reason = cmd->reject_reason; in iscsit_build_reject()
3652 hdr->flags |= ISCSI_FLAG_CMD_FINAL; in iscsit_build_reject()
3653 hton24(hdr->dlength, ISCSI_HDR_LEN); in iscsit_build_reject()
3654 hdr->ffffffff = cpu_to_be32(0xffffffff); in iscsit_build_reject()
3656 hdr->statsn = cpu_to_be32(cmd->stat_sn); in iscsit_build_reject()
3657 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_reject()
3658 hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn); in iscsit_build_reject()
3667 struct iscsi_reject *hdr = (struct iscsi_reject *)&cmd->pdu[0]; in iscsit_send_reject() local
3671 iscsit_build_reject(cmd, conn, hdr); in iscsit_send_reject()
3684 iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, hdr, in iscsit_send_reject()
3708 " CID: %hu\n", ntohl(hdr->statsn), hdr->reason, conn->cid); in iscsit_send_reject()
4015 struct iscsi_hdr *hdr = (struct iscsi_hdr *)buf; in iscsi_target_rx_opcode() local
4019 switch (hdr->opcode & ISCSI_OPCODE_MASK) { in iscsi_target_rx_opcode()
4032 if (hdr->ttt == cpu_to_be32(0xFFFFFFFF)) { in iscsi_target_rx_opcode()
4047 if (hdr->ttt != cpu_to_be32(0xFFFFFFFF)) { in iscsi_target_rx_opcode()
4048 cmd = iscsit_find_cmd_from_itt(conn, hdr->itt); in iscsi_target_rx_opcode()
4073 pr_err("Got unknown iSCSI OpCode: 0x%02x\n", hdr->opcode); in iscsi_target_rx_opcode()