Discussion of FCP-2 login requirements for ELS, Revision 1
David Peterson
dap at storage.network.com
Tue Nov 16 20:45:20 PST 1999
* From the T10 Reflector (t10 at t10.org), posted by:
* David Peterson <dap at storage.network.com>
*
This is a multi-part message in MIME format.
--------------17AF10E7460351564D8D5F17
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
The payload of the FDISC/ACC is identical to the payload of the
FLOGI/ACC so I don't see why a PLOGI to 0xFFFFFE is required or
neccessary.
Never seen a PLOGI to 0xFFFFFE either (yet);
Bob Snively wrote:
>
> We have a continuing action item that requires us to identify which
> ELSs can be executed on an FCP-2 compliant device before the various logins,
> particularly FLOGIN, PLOGIN, and PRLI. It is not clear whether
> these requirements ultimately wind up in FC-FS or in FCP-2, but I would
> like to start them out as a normative annex of FCP-2 as a placeholder.
>
> In our last FC-TAPE/FCP-2/SCC meeting, we noted very few ELS's that could
> operate without some degree of successful login. This chart is the first
> formal testing of that theory.
>
> Note that at least one of these is still a likely candidate for deletion. Such
> ELSs are marked with a preceeding asterisk (*).
>
> Comments have been received from:
>
> 1) Dave Peterson, 11/13/99
>
> My understanding of the text in FC-FS is that a port must have done a
> FLOGI for a FDISC from that port to be accepted, otherwise in class 3
> it is discarded. Bob's recent email regarding this subject also
> specifies a PLOGI must have been performed. Would this be a PLOGI to
> the Fabric Controller? Why is a PLOGI necessary?
>
> Response:
>
> I expect that you must always PLOGI with any D_ID, including a
> well-known ID like FFFFFE, to be able to perform normal ULP
> communications with it. I have expressed that assumption in these
> charts. I think this does not change the document.
>
> 2) Horst Truested, 11/13/99
>
> is a LOGO to "FFFFFE"h something new? So far, only step 2 (i.e., result
> of power on, link initialized, no login and a port disappearing or an
> error is a FLOGout).
>
> Response:
>
> I blew it. Should be as follows:
>
> FC-FS and FC-AL-2 tell me that there is no explicit FLOGO, but that
> implicit FLOGO may occur. This event is considered rare enough and
> special enough that link re-initialization, as outlined below,
> is required to recover.
>
> FC-FS section 17.5.3 indicates that NOS or OLS is the mechanism used to
> perform Fabric logout.
>
> FC-AL-2 goes on to say that a LIP where the L_bit is set equal to one
> can be used to identify a case where a new Fabric Login is required.
> Apparently, according to the loop initialization rules, the fabric port
> always becomes the loop initialization master and can properly
> manipulate the L_bit if the port exists at all.
>
> 3) Added RLIR, LIRR, RSCN, SCR to list
>
> Changes are marked with >
>
> References are for FC-FS.
>
> General rules:
>
> 1) A login is between two nodes (PLOGI, PRLI), a node and a
> fabric (FLOGI), or a process in one node and a process in
> another node (PRLI)
>
> 2) A logout for any reason does not change the logged-in state
> of any node pairs except the node pair explicitly or implicitly
> logged out.
>
> 3) The fabric is required to be logged in if a fabric is present
> and any node-to-node operation is being requested. Nodes which
> are not logged in to the fabric are assumed to be inaccessible
> from all nodes. No path is formed to such nodes.
>
> Login states:
>
> Logged Out from Fabric (LOF)
>
> > 1) Result of power on, link initialized, no login.
> > 2) Result of certain node to fabric recovery failures.
>
> Limits types of communication that can be performed to fabric.
> May not exist if implicit login states are defined for fabric.
>
> Logged out from Node (LON)
>
> 1) Result of LOGO to node D_ID
> 2) Result of power on, link initialized, no login.
> 3) Result of certain node-to-node error recovery failures
>
> Limits types of communication that can be performed to node.
> May not exist if implicit login states are defined for node.
>
> Process Logged Out from Node (PRLON)
>
> 1) Result of PRLO to node D_ID
> 2) Result of power on, link initialized, no login.
>
> Limits protocols and roles within a protocol.
> May not exist if implicit process login states are defined for node.
>
> Logged in to Fabric (17.3): (LIF)
>
> 1) Result of FLOGI
> 2) Result of implicit FLOGI
> 3) Considered to be implicitly logged in if no fabric.
>
> Required to assign node address from fabric
> Required to negotiate link parameters with local fabric attachment
> Rejected if no fabric
> Rejected if incompatible parameters or classes
> Ended by link failure
> Ended by LOGO
> Ended by power off
>
> Logged in to node: (LIN)
>
> 1) Result of PLOGI
> 2) Result of implicit PLOGI
>
> Required to perform PRLI
> Required to perform any data frame transfers (15.4.7)
> Rejected if incompatible parameters or classes
> Ended by link failure
> Ended by LOGO
> Ended by power off
> Ended by unsucessful recovery
>
> Process Logged in to node (PRLIN)
>
> 1) Result of PRLI with image bit set
> 2) Result of implicit PRLI
>
> Required to perform SCSI FCP operations (also for other protocols)
> Rejected if incompatible capabilities
>
> Ended by PRLO
> Ended by power off
>
> BASIC LINK SERVICES AND REQUIRED STATES:
>
> SERVICE REQUIRED STATES NOTES
>
> >No Operation NOP ANY
> Abort Sequence ABTS ANY Required for aborting
> login sequence.
>
> Remove Connection RMC LIF Requires awareness of
> fabric.
>
> Basic_Accept BA_ACC ANY
> Basic_Reject BA_RJT ANY
> Preempted PRMT LIF Requires awareness of
> fabric.
>
> EXTENDED LINK SERVICES AND REQUIRED STATES:
>
> SERVICE REQUIRED STATES NOTES
>
> ELS requests
>
> PLOGI LIF Required if fabric
> FLOGI ANY
> LOGO ANY LOGO allowed if not
> logged in.
> ABTX ANY May ABTX Login exchanges
> RCS LIF, LIN Assumes path formed
>
> RES ANY May RES Login exchanges
> RSS LIF, LIN Assumes path formed
> RSI LIF, LIN Assumes path formed
> ESTS LIF, LIN Assumes path formed
> ESTC LIF, LIN Assumes path formed
>
> * ADVC LIF, LIN Assumes credit known,
> changes parameters.
> RTV LIF, LIN Assumes path formed
> RLS LIF, LIN Assumes path formed
> ECHO LIF, LIN Assumes path formed
> TEST LIF Requires node to be
> known to fabric
>
> RRQ LIF, LIN Assumes path formed
> PRLI LIF, LIN Assumes path formed
> PRLO LIF, LIN Assumes path formed
> SCN LIF, LIN Assumes formed path is
> changed
> TPLS LIF, LIN Assumes path formed
>
> TPRLO LIF, LIN Assumes path formed.
> GAID LIF Assumes node known to
> fabric
> FACT LIF, LIN Requires login to
> alias server, assumes
> node known to fabric.
>
> FDACT LIF, LIN Requires login to
> alias server, assumes
> node known to fabric.
>
> NACT LIF, LIN Requires login to
> alias server, assumes
> node known to fabric.
>
> NDACT LIF, LIN Requires login to
> alias server, assumes
> node known to fabric.
>
> QoSR LIF, LIN Requires login to
> fabric, Requires login
> to recipient node.
> RVCS LIF, LIN Requires circuit
> PDISC LIF, LIN Assumes path formed.
> FDISC LIF, LIN Assumes path formed.
>
> ADISC LIF, LIN Assumes path formed.
> RNC LIF, LIN Assumes path formed.
>
> ELS responses
>
> LS_RJT ANY
> ACC ANY
>
> New ELS requests
>
> CSS LIF, LIN Assumes path formed,
> logged in to clock
> server.
> REC LIF, LIN Assumes path formed.
> RTIN LIF, LIN Assumes path formed.
> whatever the other is LIF, LIN Assumes path formed.
> > RSCN LIF, LIN Assumes path formed.
> > SCR LIF, LIN Assumes path formed.
>
> > RLIR LIF, LIN Assumes path formed.
> > LIRR LIF, LIN Assumes path formed.
>
> New FC-4 requests
>
> SRR LIF, LIN, PRLIN Requires SCSI device
> identification.
>
> ANNEX A: TABLE OF EXTENDED LINK SERVICES (ELSs)
>
> hex '03' N_Port Login PLOGI
> hex '04' F_Port Login FLOGI
> hex '05' Logout LOGO
> hex '06' Abort Exchange ABTX
> hex '07' Read Connection Status RSC
> hex '08' Read Exchange Status Block RES
> hex '09' Read Sequence Status Block RSS
> hex '0A' Request Sequence Initiative RSI
> hex '0B' Establish Streaming ESTS
> hex '0C' Estimate Credit ESTC
> hex '0D' Advise Credit ADVC
> hex '0E' Read Time-out Value RTV
> hex '0F' Read Link Status RLS
> hex '10' Echo ECHO
> hex '11' Test TEST
> hex '12' Reinstate Recovery Qualifier RRQ
> hex '20' Process Login PRLI
> hex '21' Process Logout PRLO
> hex '22' State Change Notification SCN
> hex '23' Test Process Login State TPLS
> hex '24' Third Party Process Logout TPRLO
> hex '30' Get Alias_ID GAID
> hex '31' Fabric Activate Alias_ID FACT
> hex '32' Fabric Deactivate Alias_ID FDACT
> hex '33' N_Port Activate Alias_ID NACT
> hex '34' N_Port Deactivate Alias_ID NDACT
> hex '40' Quality of Service Request QoSR
> hex '41' Read Virtual Circuit Status RVCS
> hex '50' Discover N_Port Service Parm PDISC
> hex '51' Discover F_Port Service Parm FDISC
> hex '52' Discover Address ADISC
> hex '53' Report Node Capability RNC
>
> ANNEX B: ADDITIONAL ERRORS
>
> 1) Error in Table 49:
>
> In table 49, Read Connection Status is incorrectly abbreviated as
> RSC. It should be RCS.
>
> 2) REC not yet included in FC-FS
>
> REC needs to be included in FC-FS.
--------------17AF10E7460351564D8D5F17
Content-Type: text/x-vcard; charset=us-ascii; name="dap.vcf"
Content-Transfer-Encoding: 7bit
Content-Disposition: ATTACHMENT; filename="dap.vcf"
Content-Description: Card for David Peterson
begin:vcard
n:Peterson;David
tel;pager:888-468-4948 or 4684948 at skytel.com
tel;cell:612-790-6235
tel;fax:612-391-1095
tel;work:612-391-1008
x-mozilla-html:FALSE
adr:;;;;;;
version:2.1
email;internet:dap at network.com
fn:David Peterson
end:vcard
--------------17AF10E7460351564D8D5F17--
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org
More information about the T10
mailing list