On a good work my target sends SCSIResponseParser PDU and after that receives SCSICommandParser PDU from the initiator. When the broken pipe is up to happen the target sends SCSIResponseParser PDU and does not receive SCSICommandParser PDU. Instead of it, the target receives after 5 seconds NOPOutParser PDU, and sends NOPInParser PDU. After 60 seconds my target receives TaskManagementFunctionRequestParser PDU with OpCode: 0x2, which means to abort the task. So, the target do what the initiator is asking. The broken pipe happens ans a nes connections is estabilished.
My question is, why the initiator does not keep the comunication after the SCSIResponseParser PDU sent by the target? Is there any way to see if this message is wrong? Or any initiator log error?
Here is the target debug.
(228)19:19:01 DEBUG [main] fullfeature.WriteStage - PDU sent 4: ParserClass: SCSIResponseParser
ImmediateFlag: false
OpCode: 0x21
FinalFlag: true
TotalAHSLength: 0x0
DataSegmentLength: 0x0
InitiatorTaskTag: 0x28000010
Response: 0x0
SNACK TAG: 0x0
StatusSequenceNumber: 0xc8a
ExpectedCommandSequenceNumber: 0xc6e
MaximumCommandSequenceNumber: 0xc6e
ExpDataSN: 0x0
BidirectionalReadResidualOverflow: false
BidirectionalReadResidualUnderflow: false
ResidualOverflow: false
ResidualUnderflow: false
ResidualCount: 0x0
Bidirectional Read Residual Count: 0x0
(273)19:19:06 DEBUG [main] connection.TargetSenderWorker - Receiving this PDU:
ParserClass: NOPOutParser
ImmediateFlag: true
OpCode: 0x0
FinalFlag: true
TotalAHSLength: 0x0
DataSegmentLength: 0x0
InitiatorTaskTag: 0x29000010
LUN: 0x0
Target Transfer Tag: 0xffffffff
CommandSequenceNumber: 0xc6e
ExpectedStatusSequenceNumber: 0xc8b
(144)19:19:06 DEBUG [main] connection.TargetSenderWorker - connection.getStatusSequenceNumber: 3211
(167)19:19:06 DEBUG [main] connection.TargetSenderWorker - Sending this PDU:
ParserClass: NOPInParser
ImmediateFlag: false
OpCode: 0x20
FinalFlag: true
TotalAHSLength: 0x0
DataSegmentLength: 0x0
InitiatorTaskTag: 0x29000010
LUN: 0x0
Target Transfer Tag: 0xffffffff
StatusSequenceNumber: 0xc8b
ExpectedCommandSequenceNumber: 0xc6e
MaximumCommandSequenceNumber: 0xc6e
(228)19:19:11 DEBUG [main] connection.TargetSenderWorker - Receiving this PDU:
ParserClass: NOPOutParser
ImmediateFlag: true
OpCode: 0x0
FinalFlag: true
TotalAHSLength: 0x0
DataSegmentLength: 0x0
InitiatorTaskTag: 0x2a000010
LUN: 0x0
Target Transfer Tag: 0xffffffff
CommandSequenceNumber: 0xc6e
ExpectedStatusSequenceNumber: 0xc8c
....
...
...
...
(228)19:20:02 DEBUG [main] connection.TargetSenderWorker - Receiving this PDU:
ParserClass: TaskManagementFunctionRequestParser
ImmediateFlag: true
OpCode: 0x2
FinalFlag: true
TotalAHSLength: 0x0
DataSegmentLength: 0x0
InitiatorTaskTag: 0x36000010
LUN: 0x0
Referenced Task Tag: 0x6b000010
CommandSequenceNumber: 0xc6e
ExpectedStatusSequenceNumber: 0xc98
RefCmdSN: 0xab6
ExpDataSN: 0x0