Discussion of FCP-2 login requirements for ELS

Wilson, Steven H Steven.Wilson at MW.Boeing.com
Tue Nov 23 18:37:56 PST 1999


* From the T10 Reflector (t10 at t10.org), posted by:
* "Wilson, Steven H" <Steven.Wilson at MW.Boeing.com>
*
I realize this thread is about a week old, but I have not been able to
respond until now.  Sorry about that.

Bob Pedersen and I have been assuming that the two new Clock Sync ELS
commands (CSR and CSU) would not require login.  If that turns out to be a
bad assumption on our part, we will need to update our proposed change to
FC-FS Clause 33.

Also, it is likely that the old Clock Sync ELS commands (CSS_CC and CSS_SC)
will be dropped altogether.  They were never fully defined as ELS commands
anyway.

Steve Wilson
Boeing-St. Louis

> ----------
> From: 	Bob Snively[SMTP:Bob.Snively at EBay.Sun.COM]
> Reply To: 	Bob Snively
> Sent: 	Tuesday, November 16, 1999 5:15 PM
> To: 	kembel at compuserve.com; fc at network.com; t10 at t10.org
> Cc: 	bob.snively at sun.com
> Subject: 	Discussion of FCP-2 login requirements for ELS, Revision 1
> 
> 
> 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.
> 
> 
*
* 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