44 Fibre Channel Interface Manual, Rev. D
reinitialize at 10.3 at the request of the node. If the L_Port does not support the AL_PA position mapping
loop initialization sequences, it sets byte 2 of the loop initialization identifier to 00h. The L_Port retransmits
the loop initialization sequence.
LIRP
If LIRP is received, the L_Port reads the left-most byte (offset), increment it by one, store the offset, and
store its AL_PA into the offset position. The L_Port retransmits the loop initialization sequence.
LILP
If LILP is received, the L_Port may use the AL_PA position map to save the relative positions of all L_Ports
on the loop. This information may be useful for error recovery. The L_Port retransmits the loop initialization
sequence.
If any frame is received that is not formatted according to figure 10 and as specified in step 3 on page 42,
the frame is discarded. If a LIRP or LILP frame is received by an L_Port which does not support the AL_PA
position map, the frame is discarded.
Each L_Port uses the E_D_TOV timer to wait for each of the above loop initialization sequences and the
CLS. If the timer expires before each loop initialization sequence of CLS is received, the L_Port goes to the
Initializing state. One possible reason for this is that the loop master was removed from the loop.
When CLS is received, the L_Port retransmits CLS and goes to the Monitoring state in participating mode
(if it acquired a valid AL_PA).
The L_Port continues at step 5.
5. Select final AL_PA and exit initialization
a. If an FL_Port is in participating mode, it has completed initialization with an AL_PA of 00h and exits the
loop initialization.
b. If a private NL_Port is in participating mode, the NL_Port has completed initialization with an AL_PA in
the range of 01h - EFh and exits loop initialization. If during initialization, the NL_Port detected that the
L_bit (Login required) was set to 1, it implicitly logs out with all other NL_Ports.
c. If a public NL_Port is in participating mode, the NL_Port has discovered an AL_PA in the range of 01h
- EFh. If one of the following occurred, the NL_Ports implicitly logout with all ports and attempt a fabric
login to the address FFFFFEh - AL_PA 00h:
• the NL_Port detected that the L_bit (login required) was set to 1 in a LIFA, LIPA, LIHA, or LISA
loop initialization sequence;
• the NL_Port was unable to set to 1 its fabric-assigned AL_PA bit or its previously-acquired AL_PA
bit in the LIFA or LIPA loop initialization sequence (i.e., another NL_Port is using the AL_PA);
• the NL_Port has not previously executed a fabric login.
Normal responses to a fabric login request are:
• the transmitted OPN(00,AL_PS) and login extended link service sequence are returned to the
NL_Port. No L_Port on the loop has accepted this request. The NL_Port sets its native address identi-
fier to 0000xxh (where xx is its AL_PA).
If the NL_Port is capable of providing fabric services in the absence of an FL_Port (i.e., it recognizes the
well-known alias address FFFFFEh as well as its own native address identifier), this NL_Port (also known
as an F/NL_Port) recognizes OPN(00,x) in addition to its own AL_PA. If this is the first time that the
NL_Port is assuming the responsibility of an F/NL_Port, to ensure that all previous login requests are
reset, the F/NL_Port goes to the Initializing state (REQ(initialize)) and sets the L_bit (login required) to 1 in
the LIFA loop initialization sequence.
Note. To prevent another L_Port from winning arbitration, this F/NL_Port should not relinquish control of
the loop until it is prepared to receive OPN(00,AL_PS).
If the NL_Port is not capable of becoming an F/NL_Port, the NL_Port exits loop initialization.
• the NL_Port receives an Accept (ACC) link service sequence. The NL_Port uses the D_ID in the ACC
sequence as its native address identifier and bits 7 - 0 of the D_ID as its fabric-assigned AL_PA. The
NL_Port compares the fabric-assigned AL_PA in the ACC sequence with the AL_PA acquired prior to
step 5. If they are equal, the NL_Port exits loop initialization. If they are not equal, the NL_Port goes to
the Initializing state (REQ(initialize)) to re-initialize and acquire the fabric-assigned AL_PA value.