Return-Path: <owner-ips@ece.cmu.edu>
X-Sieve: cmu-sieve 2.0
Return-Path: <owner-ips@ece.cmu.edu>
Received: (from majordom@localhost)
	by ece.cmu.edu (8.11.0/8.10.2) id h1C4P5Z15618
	for ips-outgoing; Tue, 11 Feb 2003 23:25:05 -0500 (EST)
X-Authentication-Warning: ece.cmu.edu: majordom set sender to owner-ips@ece.cmu.edu using -f
Received: from nhmc.sc1.ummail.com (nhmc.sc1.ummail.com [66.187.250.34])
	by ece.cmu.edu (8.11.0/8.10.2) with ESMTP id h1C4P1W15613
	for <ips@ece.cmu.edu>; Tue, 11 Feb 2003 23:25:01 -0500 (EST)
Received: from hqmailweb.Crossroads.com
	( [65.68.235.6:25])
	by nhmc.sc1.ummail.com with SMTP id G0211-2324-484105;
	Wed, 12 Feb 2003 04:24:59 GMT
Received: from HQMAILNODE1.COMMSTOR.Crossroads.com ([10.5.1.42]) by
	hqmailweb.Crossroads.com with Microsoft SMTPSVC(5.0.2195.5329);
	 Tue, 11 Feb 2003 22:24:52 -0600
X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Subject: iSCSI: plugging CmdSN gaps
Date: Tue, 11 Feb 2003 22:18:44 -0600
Message-ID: <CFD808D1D39ACB47ABFF586D484CC52EDD68D3@hqmailnode1.commstor.crossroads.com>
Thread-Topic: iSCSI: plugging CmdSN gaps
Thread-Index: AcLSTdIeUaBRR+MUQwOkFa/7yQXe9w==
From: "Buck Landry" <blandry@crossroads.com>
To: <ips@ece.cmu.edu>
X-OriginalArrivalTime: 12 Feb 2003 04:24:52.0877 (UTC)
	FILETIME=[B06953D0:01C2D24E]
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by ece.cmu.edu id h1C4P2W15614
Sender: owner-ips@ece.cmu.edu
Precedence: bulk

Draft20 section 3.2.2.1 states:
   On any connection, the iSCSI initiator MUST send the commands in
   increasing order of CmdSN, except for commands that are
   retransmitted due to digest error recovery and connection recovery.

I would like to be sure I understand the scope of this.  I apologize for the following example/"thought exercise".

I -> Text Request (CmdSN = 0x1, I = 0)

/* ExpCmdSN chosen in accordance w/section 6.3 "CmdSN .. MUST NOT be considered received", and with the mailing list thread at http://www.pdl.cmu.edu/mailinglists/ips/mail/msg05550.html */
T -> Reject (Long Operation Reject, ExpCmdSN = 0x1, MaxCmdSN = 0x10) 

I assume nothing prohibits the initiator from doing:
I -> Scsi Command (CmdSN = 0x2, I = 0)

.. on this connection, even if it's the only connection in the session.  This effectively skips CmdSN 0x1.

Since no digest error recovery or connection recovery is in effect, by section 3.2.2.1 it appears the initiator can't issue another command w/CmdSN 0x1 on this connection.  Therefore if it wants to plug the gap, it needs to do so on another connection (possibly opening a new one if no others exist), *or* it needs to abort the Text Request as described in section 6.3.

Did I jump to any wrong conclusions here?
Thanks, --buck

