1*d14abf15SRobert Mustacchi #ifndef __57XX_ISCSI_RFC_CONSTANTS_H_ 2*d14abf15SRobert Mustacchi #define __57XX_ISCSI_RFC_CONSTANTS_H_ 3*d14abf15SRobert Mustacchi 4*d14abf15SRobert Mustacchi /** 5*d14abf15SRobert Mustacchi * This file defines SCSI/iSCSI RFC constants 6*d14abf15SRobert Mustacchi */ 7*d14abf15SRobert Mustacchi 8*d14abf15SRobert Mustacchi /* iSCSI request op codes */ 9*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_NOP_OUT (0 | 0x40) 10*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_SCSI_CMD (1) 11*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_TMF_REQUEST (2 | 0x40) 12*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_LOGIN_REQUEST (3 | 0x40) 13*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_TEXT_REQUEST (4 | 0x40) 14*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_DATA_OUT (5) 15*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_LOGOUT_REQUEST (6 | 0x00) 16*d14abf15SRobert Mustacchi 17*d14abf15SRobert Mustacchi /* iSCSI response/messages op codes */ 18*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_NOP_IN (0x20) 19*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_SCSI_RESPONSE (0x21) 20*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_TMF_RESPONSE (0x22) 21*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_LOGIN_RESPONSE (0x23) 22*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_TEXT_RESPONSE (0x24) 23*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_DATA_IN (0x25) 24*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_LOGOUT_RESPONSE (0x26) 25*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_R2T (0x31) 26*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_ASYNC_MSG (0x32) 27*d14abf15SRobert Mustacchi #define ISCSI_OPCODE_REJECT (0x3f) 28*d14abf15SRobert Mustacchi 29*d14abf15SRobert Mustacchi /* iSCSI stages */ 30*d14abf15SRobert Mustacchi #define ISCSI_STAGE_SECURITY_NEGOTIATION (0) 31*d14abf15SRobert Mustacchi #define ISCSI_STAGE_LOGIN_OPERATIONAL_NEGOTIATION (1) 32*d14abf15SRobert Mustacchi #define ISCSI_STAGE_FULL_FEATURE_PHASE (3) 33*d14abf15SRobert Mustacchi 34*d14abf15SRobert Mustacchi /* SCSI command response codes */ 35*d14abf15SRobert Mustacchi #define ISCSI_SCSI_CMD_RESPONSE_CMD_COMPLETED (0x00) 36*d14abf15SRobert Mustacchi #define ISCSI_SCSI_CMD_RESPONSE_TARGET_FAILURE (0x01) 37*d14abf15SRobert Mustacchi 38*d14abf15SRobert Mustacchi /* SCSI command status codes */ 39*d14abf15SRobert Mustacchi #define ISCSI_SCSI_CMD_STATUS_GOOD (0x00) 40*d14abf15SRobert Mustacchi #define ISCSI_SCSI_CMD_STATUS_CHECK_CONDITION (0x02) 41*d14abf15SRobert Mustacchi #define ISCSI_SCSI_CMD_STATUS_INTERMIDIATE (0x10) 42*d14abf15SRobert Mustacchi #define ISCSI_SCSI_CMD_STATUS_ACA_ACTIVE (0x30) 43*d14abf15SRobert Mustacchi 44*d14abf15SRobert Mustacchi /* TMF codes */ 45*d14abf15SRobert Mustacchi #define ISCSI_TMF_ABORT_TASK (1) 46*d14abf15SRobert Mustacchi #define ISCSI_TMF_LOGICAL_UNIT_RESET (5) 47*d14abf15SRobert Mustacchi #define ISCSI_TMF_FUNCTION_MASK (0x7F) 48*d14abf15SRobert Mustacchi 49*d14abf15SRobert Mustacchi /* TMF response codes */ 50*d14abf15SRobert Mustacchi #define ISCSI_TMF_RESPONSE_FUNCTION_COMPLETE (0x00) 51*d14abf15SRobert Mustacchi #define ISCSI_TMF_RESPONSE_TASK_DOESNT_EXIST (0x01) 52*d14abf15SRobert Mustacchi #define ISCSI_TMF_RESPONSE_LUN_DOESNT_EXIST (0x02) 53*d14abf15SRobert Mustacchi #define ISCSI_TMF_RESPONSE_TASK_STILL_ALLEGIANT (0x03) 54*d14abf15SRobert Mustacchi #define ISCSI_TMF_RESPONSE_FUNCTION_NOT_SUPPORTED (0x05) 55*d14abf15SRobert Mustacchi #define ISCSI_TMF_RESPONSE_FUNCTION_AUTHORIZATION_FAILED (0x06) 56*d14abf15SRobert Mustacchi #define ISCSI_TMF_RESPONSE_FUNCTION_REJECTED (0xff) 57*d14abf15SRobert Mustacchi 58*d14abf15SRobert Mustacchi /* Logout reason codes */ 59*d14abf15SRobert Mustacchi #define ISCSI_LOGOUT_REASON_CLOSE_CONNECTION (1) 60*d14abf15SRobert Mustacchi 61*d14abf15SRobert Mustacchi /* Logout response codes */ 62*d14abf15SRobert Mustacchi #define ISCSI_LOGOUT_RESPONSE_CONNECTION_CLOSED (0) 63*d14abf15SRobert Mustacchi #define ISCSI_LOGOUT_RESPONSE_CID_NOT_FOUND (1) 64*d14abf15SRobert Mustacchi #define ISCSI_LOGOUT_RESPONSE_CLEANUP_FAILED (3) 65*d14abf15SRobert Mustacchi 66*d14abf15SRobert Mustacchi /* iSCSI parameter defaults */ 67*d14abf15SRobert Mustacchi #define ISCSI_DEFAULT_HEADER_DIGEST (0) 68*d14abf15SRobert Mustacchi #define ISCSI_DEFAULT_DATA_DIGEST (0) 69*d14abf15SRobert Mustacchi #define ISCSI_DEFAULT_INITIAL_R2T (1) 70*d14abf15SRobert Mustacchi #define ISCSI_DEFAULT_IMMEDIATE_DATA (1) 71*d14abf15SRobert Mustacchi #define ISCSI_DEFAULT_MAX_PDU_LENGTH (0x2000) 72*d14abf15SRobert Mustacchi #define ISCSI_DEFAULT_FIRST_BURST_LENGTH (0x10000) 73*d14abf15SRobert Mustacchi #define ISCSI_DEFAULT_MAX_BURST_LENGTH (0x40000) 74*d14abf15SRobert Mustacchi #define ISCSI_DEFAULT_MAX_OUTSTANDING_R2T (1) 75*d14abf15SRobert Mustacchi 76*d14abf15SRobert Mustacchi /* iSCSI parameter limits */ 77*d14abf15SRobert Mustacchi #define ISCSI_MIN_VAL_MAX_PDU_LENGTH (0x200) 78*d14abf15SRobert Mustacchi #define ISCSI_MAX_VAL_MAX_PDU_LENGTH (0xffffff) 79*d14abf15SRobert Mustacchi #define ISCSI_MIN_VAL_BURST_LENGTH (0x200) 80*d14abf15SRobert Mustacchi #define ISCSI_MAX_VAL_BURST_LENGTH (0xffffff) 81*d14abf15SRobert Mustacchi #define ISCSI_MIN_VAL_MAX_OUTSTANDING_R2T (1) 82*d14abf15SRobert Mustacchi #define ISCSI_MAX_VAL_MAX_OUTSTANDING_R2T (0xff) // 0x10000 according to RFC 83*d14abf15SRobert Mustacchi 84*d14abf15SRobert Mustacchi #endif /*__57XX_ISCSI_RFC_CONSTANTS_H_ */ 85