Minutes of FCP activities during SCSI Working Group and Plenary

Bob Snively Bob.Snively at eng.sun.com
Fri Aug 5 03:20:58 PDT 1994


To:		X3T10, X3T11 via e-mail
		fibre-channel-ext at think.com, scsi at WichitaKS.NCR.COM

From:		Bob Snively

Date:		July 20, 1994

Subject:	FCP activities during the SCSI Working Group meeting

At the SCSI Working Group meeting of July 20, 1994, the FCP
ballot review comments and other FCP issues were discussed. 
Some of the ballot review comments were also discussed during
the SCSI Plenary meeting on July 21, and the conclusions reached
at that time concerning particular comments are also included here.

DISCUSSION AND RESOLUTION OF UNRESOLVED BALLOT COMMENTS:

After careful study by the commenters, three ballot review 
comments were considered to be unresolved by the resolutions of 
the ballot comments described in X3T10/94-109r1 and included 
in X3T10/993D revision 8b.

Comment 57:  

The original text of the comment requested that the Terminate Task
and Clear ACA functions be mandatory.  "...They are discoverable
attributes managed by Inquiry Data and the ACA field of the CDB....  Whether
they are invoked or not is up to the ULP and not of concern to the
FCP FC-4 or the ports.  As a general rule, any functions that are
logically managed SHALL be supported by the FC-4.  Otherwise, a
SCSI device may implement a function which cannot be performed because
of the choice of FC-4 or port manufacturer."

During the meeting working group meeting, resolution was not reached.
The consensus was that the functions should not be mandatory.

During the SCSI plenary meeting, the comment was clarified.  The
SCSI FCP mapping is intended to provide a complete description of
the capabilities that are mandatory for implementation by both
the target and the initiator and those that are optional for either.

In contrast, the comment intends that initiators shall always be
able to pass the task management function, even if the system
integrators never intend to use the function and if none of the
attached targets supports it.  The requirement is that additional
mapping code between the CAM (or equivalent interface) and the
FC-PH service layer be provided to create the required bits.

For the two task management functions, Terminate Task and Clear ACA,
compliance with the suggested change has some effect on the required
code complexity and cost of testing at the initiator.  At the
target, not implementing the functions, accepting the functions
and performing no operation, and fully implementing the functions
are indistinguishable under most test cases.  

To resolve this particular comment, the initiator and target
requirements could be separated and the function could be
made mandatory for the initiator and optional for the target.
This resolution was accepted by the committee.

Comment 134:

The original text of the comment indicated that FCP should allow
the overlay of data during read or write operations.  The comment
was resolved, but during review, some text in section 7.3 
was questioned.  That text indicates that initiators would have 
the option of treating data overlays as an error if they could 
not guarantee data integrity during such transfers.

To complete resolution of the comment, a bit will be placed in
the PRLI as a negotiated requirement.  The default or zero
state of the bit will indicate that data overlay is not allowed or
supported.  

Comment 142:

The original text of the comment suggested that the residual length
definition be modified significantly.  Instead, some textual
corrections were made to make it more accurate and easier to 
understand.  The following additional corrections were requested
to complete resolution of the comment:

   a)	The formula on page 32 does not take into account the
	possibility of overlays.  It will be modified to
	refer to the highest value filled, instead of the
	actual count of bytes transferred.

   b)	The proper behavior for targets must be indicated when
	there is a conflict between the CDB defined data length and
	the FCP_DL value.  

	1)  The target is not required to verify CDB data length
	    and FCP_DL consistency before beginning data transfer.

	2)  The SCSI Status Byte may not be valid if a SAM
	    service delivery failure occurs.  Data overrun is
	    a SAM service delivery failure.  Data underrun is
	    not a SAM service delivery failure, since
	    underruns often occur in the SCSI command set.
	    The completion state of the SCSI command is uncertain
	    if an overrun occurred.

DISCUSSION AND RESOLUTION OF ADDITIONAL COMMENTS:

The following questions had been raised and discussed after
revision 8b of FCP was prepared.  These comments generally 
complete previously incomplete portions of the document or
provide editorial clarifications.

1)	Special case of ambiguous commands (Giles Frazier)

Giles Frazier correctly points out that commands cleared as
a result of performing a recovery with the QERR bit = 1 in
the Mode Sense/Select pages will throw away unused commands.
These commands are in an ambiguous state and FC-PH resources
associated with these commands must be cleared.  Recovery Abort
performed by the target will successfully clear these commands.  
It was suggested that this case be considered in section 7.1.2.5.


2)	Targets should be allowed to not perform recovery abort (Kurt Chan)

Kurt Chan has suggested that the Recovery Abort function is not required
for all implementations.  The most interesting case is the case of
class 3 closed loops or point-to-point configurations where no
out-of-order recovery is required and where simple ULP timers can
be used to determine that targets have lost track of an I/O Operation.

Four questions about this subject were identified and three answered.

   1)	Can recovery abort be done at any time?

	Yes.  The text should be modified to allow the use
	of recovery abort for any additional cases where
	ambiguity may be assumed or supposed to simplify the
	recovery of link resources.

   2)	Is recovery abort required at all?

	Yes.  Link resource recovery can only be completed in
	some ambiguous cases with the assistance of recovery abort.

   3)	Will it work correctly for Class 3?

	Yes.  No modifications should be required.

   4)	Can the requirement be ignored?

	No.  This is presently being discussed by e-mail.  For
	interoperability reasons, only two mutually exclusive cases
	appear to guarantee proper operation for all initiators and targets.

	a)	The target must generate recovery abort for
		those cases where it is aware of ambiguity.
		This allows rapid recovery of resources and
		resumption of normal operation.  This is presently
		specified by FCP.
	OR

	b)	The initiator must have ULP timers for all
		commands and must individually perform a
		recovery abort for each outstanding command
		as it times out.  Recovery by initiators
		other than a failing initiator is not defined yet.
		Recovery for target/initiators performing third
		party operations requires more complex processing
		by the target/initiator.

3)	Dual Port operation should be defined

Because SAM and other SCSI-3 standards do not define dual
port operation yet, this subject will be included in a future
FCP project.

4)	Task Management Response

SAM does not require a task management response.  Task Management
functions are attempted, but no reject or error conditions other
than link errors are recovered.  Note that the optional Task
Management functions are successfully executed by a target if the
target chooses to ignore the functions and if ACA was cleared by
the presentation of status and automatic sense information in a FCP_RSP IU.

5)	Ordered Operations (Lansing Sloan)

The text presently indicates that Class 2 Sequential Delivery is 
sufficient to guarantee that ordering will be performed according
to SAM.  Lansing Sloan correctly points out that it is not possible
to guarantee that ordered tags will follow SAM unless retries
of a command transmission are completed before a new command
is transmitted.  The text will add that correction.

6)	COPY Command (Lansing Sloan)

The text does not presently specify the format of the 64-bit
field that defines the source and destination for COPY and
certain RESERVE/RELEASE command formats.  The location and
controls for D_ID/S_ID and for PA will be included in section
5.4.2.

7)	TTD/CIOP or Transfer Ready Interlock

There is no mechanism presently defined in FCP to hold off or
to interlock the delivery of read data to a host.  SAM does
not define such a mechanism, although some revisions of the
SCSI Interlocked Protocol (SIP) do allow such a mechanism.
If this function can be properly defined and justified, it will be
included in a future FCP project.

8)	Overlapping Commands

An editorial change is suggested to make it clear that checking
for overlapping commands is not required, since FC-PH does not
provide any legal mechanism for generating them.  Text will be
added in section 5.4.9 as follows:

"Since the value of the OX_ID is required by FC-PH to be
unique, there is no requirement for an FCP logical unit to
check for overlapping tags."

9)	Target Reset does not perform PRLO

An editorial change is suggested to make it clear that Target
Reset does not cause FCP to perform a PRLO.  Text will be added
to the first paragraph of the Target Reset section as follows:

"The FCP Login state of the affected image pairs is not changed
by the Target Reset."

EDITORIAL AND NO-SUBSTANTIVE TECHNICAL CORRECTIONS:

1)	PRLI/PRLO Definition not in any standard

Because the PRLI/PRLO function is not defined by any standard yet,
the text from FC-SB (which is scheduled for incorporation in the
FC-EP standard) will be added to FCP as a normative
annex.  This also clarifies a number of other comments by
those who did not have copies of the FC-SB Annex to reference.

2)	ISO changes

A number of document re-orderings must be performed to 
properly meet ISO requirements.

3)	Capitalization conventions

The following capitalization conventions were agreed upon among
various X3T10 editors.

Lower case:

	Standard words, even if they describe a unique FCP object.

	Examples:

	   target, initiator, exchange, sequence, 
	   fully qualified exchange identifier

Upper case:

	SCSI commands

		COPY, TEST UNIT READY, etc.

	SAM functions

		TARGET RESET, CLEAR ACA, etc.

	Abbreviations

		FQXID, etc.

	Abbreviated field names

		FCP_RESID_UNDER, etc.

Small Capitals:

	Field names that are not abbreviations

		TASK ATTRIBUTE, etc.


SCHEDULE AND ACTION ITEMS:

Revision 9 of FCP will be prepared for the mailing, which has
a deadline of August 12, 1994.  Assuming that the document is
complete at that time and is available to everyone in a timely
manner, it will be reviewed by the committee members with the
plan that it will be forwarded for public review at the
September SCSI Plenary meeting.




More information about the T10 mailing list