Subject: RE: iSCSI : Abort Task "connection allegiance"

From: "Santosh Rao" <[email-masked]>
Date: Tue, 06 Feb 2001 01:17:37 -0000

>There are two reasons for issuing abort: 1) application software exits and 
>OS needs cleaning up, and 2) a request times out and it needs clean 
>restart.
>In either cases, we don't want the abort arrives there before the
>one to be aborted. Hence, using zero CmdSN is unwise.  If the abort gets 
>there first,the target will complete the abort quickly and later executes 
>the one to be aborted anyway.

YP,

"connection allegiance" implies the Abort Task is sent on the same
TCP connection as the command. By sending the Abort Task on the
same TCP connection, [and since it is sent after the command],
the ordering is preserved. The abort will not reach before the
command.

The only case where the abort would reach before the command
would be if the iSCSI layer at the target had discarded the
command PDU [due to an iSCSI layer error]. In such a case, since
the command will never be active at the target, the target
would respond to the Abort Task indicating "No Task Found"
or "Function Complete" which should be ok.

>
> > In the interests of keeping I/O timeout recovery quick, the
> > "connection allegiance" policy, currently applicable to all phases > of 
>a command, should be extended to the Abort Task for that > command as well 
>and the Abort Task be sent with a CmdSN of 0.
>
>I don't follow this logic at all.  Are you trying to say that if the target 
>gets an abort, it should enter connection allegiance until the one to be 
>aborted arrives? This would real make a mess on the target microcode.  How 
>do we even know the aborted request would arrive?  IMHO, abort should never 
>have a zero CmdSN.

"Connection Allegiance" is enforced by an initiator [by sending the
command and the Abort Task on the same TCP connection.]. (This
terminology is curently used in the draft).

Connection Allegiance for a target impies all the PDUs for a command,
sent from a target to an initiator, should be sent on the same TCP
connection on which the command was received. (i.e. READ Data PDUs,
R2T, SCSI Response PDU, ..).

Regards,
Santosh
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com

---

From: "Douglas Otis" <[email-masked]>
Date: Mon, 5 Feb 2001 18:50:47 -0800

Santosh,

> or "Function Complete" which should be ok.

The advantage of multiple connections or multiple homing is removed if
connection allegiance is mandated.  The ability to recover from a seemingly
failed connection may include a request to restart using a different
connection.  Such request will likely be sent over a different connection if
there is a desire to migrate.  Connection allegiance was to allow
distributed state information to remain isolated.  This isolation is
problematic and not mandating allegiance ensures there will always be a
means to communicate intermediate states between connections.  Connection
allegiance should only be preferred.

Doug