I believe I am seeing a problem with ISCSI Initiator. When a Command PDU that's sent by ISCSI Initiator is rejected by my target (Reject PDU), it appears ISCSI Initiator retries the same Command PDU but fails to increment CmdSN. So my ISCSI target, seeing an "old" CmdSN, simply drops it which eventually leads to Task management by ISCSI Initiator.
Here the order I observe:
1. ISCSI Initiator issues command PDU with CmdSN 0x50.
2. Target rejects with Reject PDU, ExpCmdSn in Reject PDU is 0x51.
3. ISCSI Initiator retries command PDU again with CmdSN 0x50. (against spec)
4. Target ignores the retry.
5. ISCSI Initiator issues LUN Reset because target never responds. LUN Reset has CmdSN 0x51.
6. Target processes LUN Reset.
I believe this is a problem with ISCSI Initiator as commands, even retried commands, should never repeat CmdSNs. Is anyone else seeing an issue like this? Is there a method to formally file a bug against this?