Subject: Re: iSCSI: Reject, CmdSN, and DataSN

From: "Julian Satran" <[email-masked]>
Date: Fri, 27 Jul 2001 18:15:05 +0300

How about haing all the regular counts back in Reject (including StatSN for
good measure)?

Someting like:

   Byte /    0       |       1       |       2       |       3       |
      /              |               |               |               |
     |7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|
     +---------------+---------------+---------------+---------------+
    0|1|1| 0x3f      |1| Reserved (0)                                |
     +---------------+---------------+---------------+---------------+
    4| Reserved (0)  | DataSegmentLength                             |
     +---------------+---------------+---------------+---------------+
    8/ Reserved (0)                                                  /
    +/                                                               /
     +---------------+---------------+---------------+---------------+
   24| StatSN                                                        |
     +---------------+---------------+---------------+---------------+
   28| ExpCmdSN                                                      |
     +---------------+---------------+---------------+---------------+
   32| MaxCmdSN                                                      |
     +---------------+---------------+---------------+---------------+
   26| Reserved (0)                                                  |
     +---------------+---------------+---------------+---------------+
   40| Reason        | Reserved (0)  | First Bad Byte or Rsvd(0)     |
     +---------------+---------------+---------------+---------------+
   44| Reserved (0)                                                  |
     +---------------+---------------+---------------+---------------+
   48| Digests if any...                                             |
     +---------------+---------------+---------------+---------------+
   xx/ Complete Header of Bad PDU                                    /
    +/                                                               /
     +---------------+---------------+---------------+---------------+
   yy

Julo

Mark Bakke <[email-masked]> on 27-07-2001 16:41:15

Please respond to Mark Bakke <[email-masked]>

To:   IPS <[email-masked]>
cc:
Subject:  iSCSI: Reject, CmdSN, and DataSN

When a PDU is rejected, I assume that the CmdSN is still
updated, as well as the DataSN where applicable.  That is,
a rejected command still uses up a SN.  It probably wouldn't
hurt to state this in the reject section.

Since the Reject response does not contain ExpCmdSN, if the
last command before the window is closed is rejected, the
initiator has to rely on prior commands completing to re-open
the window.  This will usually work, but what if the window
size is reduced to one outstanding command for some reason?
Any command that is rejected will close the window for good.
A sequence of rejected commands equal to the window size will
do the same.

Any thoughts?

--
Mark A. Bakke
Cisco Systems
[email-masked]
763.398.1054

---

From: Mark Bakke <[email-masked]>
Date: Fri, 27 Jul 2001 10:34:29 -0500

That should work just fine, and will make more of the commands
work the same.  I'll have to think about StatSN; if a Reject
command has a StatSN, it will have to be saved for possible
recovery later, possibly by re-sending the rejected command?
I think it would be better to not include StatSN in Reject
for that reason, although I'm not sure my thoughts are fully
baked on this one.

--
Mark

-- 
Mark A. Bakke
Cisco Systems
[email-masked]
763.398.1054