Subject: Using SNACK to request retransmission of R2T

From: David Lee <[email-masked]>
Date: Tue, 29 May 2001 18:24:01 -0700

Hi all,

Please forgive me if this has already been addressed.  In at least one place
in the Rev. 6 draft it states that SNACK may be used by an initiator to
request a resend by a target of a missing R2T PDU.  However, the format of
the SNACK PDU does not seem to cover this case.

David Lee
Vicom Systems, Inc.

---

From: [email-masked]
Date: Wed, 30 May 2001 06:07:15 +0300

The SNACK is just a data SNACK (R2T are treated as input data for the
command).

Julo

David Lee <[email-masked]> on 30-05-2001 04:24:01

Please respond to David Lee <[email-masked]>

To:   "[email-masked]'" <[email-masked]>
cc:
Subject:  Using SNACK to request retransmission of R2T

Hi all,

Please forgive me if this has already been addressed.  In at least one
place
in the Rev. 6 draft it states that SNACK may be used by an initiator to
request a resend by a target of a missing R2T PDU.  However, the format of
the SNACK PDU does not seem to cover this case.

David Lee
Vicom Systems, Inc.

---

From: [email-masked]
Date: Wed, 30 May 2001 06:07:15 +0300

Julo

Hi all,

David Lee
Vicom Systems, Inc.

---

From: David Lee <[email-masked]>
Date: Wed, 30 May 2001 07:30:42 -0700

I'm sorry, but I did not understand this response.  The case I am inquiring
about involves a missing R2T PDU (detected as a result of receiving another
R2T with a higher DataSn).  The following excerp is from section 6.7.1:

      (1)Lost data PDU or lost R2T - a data PDU or R2T may be lost 
      due to a header digest error or a data digest error.  In case 
      of a data digest error, the error is recognized immediately and 
      the initiator MAY request the missing data through SNACK. In 
      case of a header digest error, the initiator recognizes the 
      missing data or R2T either when receiving a subsequent piece 
      out of sequence or by a timeout in completing a sequence (no 
      status).  In this case, the initiator MAY request the missing 
      data or R2T through a SNACK. 

The description of the SNACK PDU does not appear to include a form for
requesting retransmission of R2T.

David Lee

-----Original Message-----
From: [email-masked]
To: [email-masked]
Sent: 5/29/01 8:07 PM
Subject: Re: Using SNACK to request retransmission of R2T

Julo

Hi all,

Please forgive me if this has already been addressed.  In at least one
place
in the Rev. 6 draft it states that SNACK may be used by an initiator to
request a resend by a target of a missing R2T PDU.  However, the format
of
the SNACK PDU does not seem to cover this case.

David Lee
Vicom Systems, Inc.

---

From: [email-masked]
Date: Thu, 31 May 2001 01:26:12 +0300

David,

R2Ts - the PDUs by which a target asks for data are treated as "incoming
data". They have a DataSN field (I've renamed it R2TSN in 07).  Their
retransmission is requested by a Data SNACK.

To avoid any more confusion the text for 07 reads:

1.1  SNACK Request

   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|0|1| 0x10      |1|Reserved(0)|S| Reserved (0)                  |
     +---------------+---------------+---------------+---------------+
    4/ Reserved (0)                                                  /
    +/                                                               /
     +---------------+---------------+---------------+---------------+
   16| Initiator Task Tag or Reserved (0x'ffffffff')                 |
     +---------------+---------------+---------------+---------------+
   20| BegRun                                                        |
     +---------------+---------------+---------------+---------------+
   24| RunLength                                                     |
     +---------------+---------------+---------------+---------------+
   28| ExpStatSN/ExpDataSN
   |
     +---------------+---------------+---------------+---------------+
   32/ Reserved (0)                                                  /
    +/                                                               /
     +---------------+---------------+---------------+---------------+
   48

   SNACK request is used to request retransmission of status, data or R2T
   PDUs from the target.  The SNACK request indicates to the target the
   missed status or data run, where the run is composed of an initial
   missed StatSN, DataSN or R2TSN and the number of additional missed
   Status, Data or R2T PDUs (0 means only the initial).

1.1.1     S

   If 1, indicates that this is a Status SNACK; otherwise it is a Data or
   R2T SNACK.

   Data/R2T SNACK for a command MUST precede implicit or explicit status
   acknowledgement for the given command.
   For a Data/R2T SNACK, the Initiator Task Tag MUST be set to the
   Initiator Task Tag of the referenced Command. Otherwise, it is reserved.

   iSCSI targets MUST support Status SNACK and MAY support Data/R2T SNACK.

1.1.2     BegRun

   First missed DataSN, R2TSN or StatSN

1.1.3     RunLength

   Number of additional sequential missed DataSN or StatSN. If BegRun is
   the only one missing, RunLength MUST be 0.

1.1.4     ExpStatSN/ExpDataSN

   ExpStatSN if S is 1 otherwise ExpDataSN.

1.1.5     Additional Runs

   Contains 0, 1 or 2 additional double words - the first being the BegRun
   and the second the RunLength of the additional run.

   Julo

David Lee <[email-masked]> on 30-05-2001 17:30:42

To:   Julian Satran/Haifa/IBM@IBMIL, "[email-masked] '" <[email-masked]>
cc:
Subject:  RE: Using SNACK to request retransmission of R2T

David Lee

-----Original Message-----
From: [email-masked]
To: [email-masked]
Sent: 5/29/01 8:07 PM
Subject: Re: Using SNACK to request retransmission of R2T

Julo

Hi all,

David Lee
Vicom Systems, Inc.