FCP Question on ABTS-LS

Charles Monia 237-6757 monia at AM.SHRMSG.SHR.mts.dec.com
Mon Aug 5 12:29:20 PDT 1996


* From the SCSI Reflector, posted by:
* Charles Monia 237-6757 <monia at AM.SHRMSG.SHR.mts.dec.com>
*
FCP rev 12, subclause 7.1.2.3 on pp 28 states:

"An ABTS with an assigned RX_ID value may be rejected with a reason code =
of
=93logical error/invalid OX_ID/ RX_ID combination=94 if the exchange has =
already been
cleared. If the ABTS is rejected, the exchange has already been successfu=
lly
terminated, all exchange resources recovered and no further action is req=
uired.
The BA_RJT frame contains the L_S bit set in the F_CTL field, indicating =
that the
exchange opened by the ABTS ends at the end of the sequence."

In the event that delivery is out-of-order, it is at least theoretically =
possible
for the ABTS to arrive before the first frame of the exchange that's bein=
g
aborted. If so, how is the ABTS recipient (i.e., the target) to distingui=
sh
between the case where the exchange "has already been cleared" and the ca=
se where
the exchange has not yet been received?=20

It would seem to me that this case is a variant of  FC-PH, rev 4.3 subcla=
use
29.7.1.1, "Special Case - new Exchange" on pp 267, which states:

"If a Sequence Initiator of the ABTS frame attempts to originate a new Ex=
change
and a Sequence timeout occurs, the Sequence Initiator shall transmit the =
ABTS
frame as in the ABTS protocol defined. If the Sequence Recipient receives=
 an ABTS
frame for an Exchange which is unknown, it shall open an Exchange Status =
Block,
with OX_ID =3D value of ABTS, RX_ID =3D hex 'FFFF' and post the SEQ_ID of=
 the ABTS
frame.  The Basic Accept Payload shall indicate invalid SEQ_ID,  a low SE=
Q_CNT set
to zero and a high SEQ_CNT set to SEQ_CNT of the ABTS frame.

"The Sequence Initiator of the ABTS frame shall timeout the Recovery_Qual=
ifier, if
required, and transmit the Reinstate Recovery Qualifier in the normal man=
ner."

To terminate the exchange, it seems to me that the BA_ACC response frame =
should
have the contents specified in FC-PH subclause 21.2.2.2, pp 138 case 2: i=
.e.,

Last_Sequence F_CTL bit set to one and the follwing payload:

 -- SEQ_ID Validity =3D invalid (hex '00')
 -- SEQ_ID =3D invalid in this case
 -- Low SEQ_CNT =3D hex '00 00' and
 -- High SEQ_CNT =3D hex 'FF FF'

Comments?

Thanks,
Charles Monia

********************************************************************
* Charles Monia Storage Architecture Group                         *
* Digital Equipment, Shrewsbury MA   Internet: monia at shr.dec.com   *
* Tel: (508) 841-6757    X400: c=3DUS; a=3DMCI; o=3DDigital; ou=3DSHR    =
  *
* Fax: (508) 841-6100                                              *
********************************************************************





More information about the T10 mailing list