Discussion of FCP-2 login requirements for ELS

Bob Snively Bob.Snively at ebay.sun.com
Fri Nov 12 21:57:27 PST 1999


* From the T10 Reflector (t10 at t10.org), posted by:
* Bob Snively <Bob.Snively at ebay.sun.com>
*
Bob,

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 (*).

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 LOGO to "FFFFFEh"
   	2)  Result of power on, link initialized, no login.
   	
   	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 		
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.
  
 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