Out of curiosity, I went ahead and tried the solaris target. It appears there is an issue in solaris target before "solaris 10 update7". I tried u6 and I see the issue and it is clearly target problem.
...
iSCSI (SCSI Command)
Opcode: SCSI Command (0x01)
.0.. .... = I: Queued delivery
Flags: 0x81
1... .... = F: Final PDU in sequence
.0.. .... = R: No data will be read from target
..0. .... = W: No data will be written to target
.... .001 = Attr: Simple (0x01)
TotalAHSLength: 0x00
DataSegmentLength: 0x00000000
LUN: 0000000000000000
InitiatorTaskTag: 0xad010000
ExpectedDataTransferLength: 0x00000000
CmdSN: 0x000001ab
ExpStatSN: 0x000001ad
SCSI CDB Test Unit Ready
Opcode: Test Unit Ready (0x00)
Vendor Unique = 0, NACA = 0, Link = 0
...
iSCSI (SCSI Response)
Opcode: SCSI Response (0x21)
Flags: 0x82
...0 .... = o: No overflow of read part of bi-directional command
.... 0... = u: No underflow of read part of bi-directional command
.... .0.. = O: No residual overflow occurred
.... ..1. = U: Residual underflow occurred <<<<<=================
Response: Command completed at target (0x00)
Status: Good (0x00)
TotalAHSLength: 0x00
DataSegmentLength: 0x00000000
InitiatorTaskTag: 0xad010000
StatSN: 0x000001ad
ExpCmdSN: 0x000001ac
MaxCmdSN: 0x000001ea
ExpDataSN: 0x00000000
BidiReadResidualCount: 0x00000000
ResidualCount: 0x00000000
Request in: 10
Time from request: 0.001020000 seconds
SCSI Response (Test Unit Ready)
...
14:02:12:42.569 cpu2:7026)WARNING: iscsi_vmk: iscsivmk_ConnSetupScsiResp: vmhba35:CH:0 T:2 CN:0: SCSI response underflow residual invalid: residual 0, expectedXferLen 0
14:02:12:42.584 cpu2:7026)WARNING: iscsi_vmk: iscsivmk_ConnSetupScsiResp: Sess
14:02:12:42.602 cpu2:7026)WARNING: iscsi_vmk: iscsivmk_ConnSetupScsiResp: Conn
14:02:12:42.614 cpu2:7026)iscsi_vmk: iscsivmk_ConnRxNotifyFailure: vmhba35:CH:0 T:2 CN:0: Connection rx notifying failure: Residual Invalid. State=Online
14:02:12:42.628 cpu2:7026)iscsi_vmk: iscsivmk_ConnRxNotifyFailure: Sess
14:02:12:42.644 cpu2:7026)iscsi_vmk: iscsivmk_ConnRxNotifyFailure: Conn
14:02:12:42.655 cpu2:7026)WARNING: iscsi_vmk: iscsivmk_StopConnection: vmhba35:CH:0 T:2 CN:0: Processing CLEANUP event
14:02:12:42.666 cpu2:7026)WARNING: iscsi_vmk: iscsivmk_StopConnection: Sess
14:02:12:42.683 cpu2:7026)WARNING: iscsi_vmk: iscsivmk_StopConnection: Conn
14:02:12:42.731 cpu2:7026)WARNING: iscsi_vmk: iscsivmk_TransportConnSendPdu: vmhba35:CH:0 T:2 CN:0: Failed to queue passthru request: No connection
14:02:12:42.732 cpu3:4119)vmw_psp_fixed: psp_fixedSelectPathToActivateInt: Device "Unregistered Device" has no paths to use (APD).
14:02:12:42.745 cpu2:7026)iscsi_vmk: iscsivmk_SessionHandleLoggedInState: vmhba35:CH:0 T:2 CN:-1: Session state transitioned from 'Logged In' to 'In Recovery'
14:02:12:42.756 cpu3:4119)vmw_psp_fixed: psp_fixedSelectPathToActivateInt: Device "Unregistered Device" has no paths to use (APD).
14:02:12:42.770 cpu2:7026)WARNING: iscsi_vmk: iscsivmk_StopConnection: vmhba35:CH:0 T:2 CN:0: iSCSI connection is being marked "OFFLINE"
14:02:12:42.782 cpu3:4119)NMP: nmp_DeviceUpdatePathStates: The PSP did not select a path to activate for NMP device 'Unregistered Device'.
14:02:12:42.794 cpu2:7026)WARNING: iscsi_vmk: iscsivmk_StopConnection: Sess
14:02:12:42.823 cpu2:7026)WARNING: iscsi_vmk: iscsivmk_StopConnection: Conn
In the response, 'U' bit should not be set. solaris 10 update7 seem to have resolve this issue.