Tuesday, April 14, 2009

Fabric Discovery and Initialization

One of the most frequent questions that people ask is how does the FibreChannel initiators intialize and discover the targets and what happens before the initiator and the target start
communicating. Let me try to explain the same in a sequence of steps.

When a Node initializes in a Fibre Channel environment, the potential actions include the following
1. Link Speed Negotiation
2. Link Initialization and Determination of the port's operation mode(N_Port)
3. Fabric Login (FLOGI) with the Fabric Login Server ( 0xFF FF FE ). FLOGI is an ELS (Extended Link Service provided by FC)
4. Port Login (PLOGI) with the Name Server or Directory Server ( 0xFF FF FC) .This is infact the mechanism of the N_Port to register information with the Name Server.
5. Registering to receive State Change Notifications (SCR). This is typically done with the Fabric Controller ( 0X FF FF FD)
6. Retrieving Information from the Name Server. This is done using Name Server queries. This is the mechanism for address discovery of SCSI Storage Devices
(Ex: Some of the commonly used queries to get objects from the directory server are GA_NXT - Get al Next , GID_FT - Get FCID)
7. Once the address are retrieved, the initiator port does a logging in (PLOGI) with other node ports. Typically the SCSI-FCP initiators initiate the login and the targets wait for the login to occur.
8. The initiators then perform a Process Login (PRLI) to negotiate other information before they start sending commands to the target.
9. The initiator may then perform a TUR (Test Unit Ready) to check the readiness of the target unit. It will then do a REPORT LUNS to discover the LUNS supported by the target and then a SCSI Inquiry to obtain information about each LUN.

This sums up the typical initialization sequence and the stuff that happens.......

Hook up an analyzer between a Server and a Fabric Switch and capture the trace....

If you see something different from the sequence described above...let me know..:)-

No comments:

Post a Comment