Brocade Fabric OS Administrator's Guide Supporting Fabric OS v6.3.0 (53-1001336-02, November 2009)

60 Fabric OS Administrator’s Guide
53-1001336-02
Routing overview
4
Route selection is the path that is chosen. Paths that are selected from the routing database are
chosen based on the minimal cost.
FSPF
Fabric Shortest Path First (FSPF) is a link state path selection protocol that directs traffic along the
shortest path between the source and destination based upon the link cost. FSPF detects link
failures, determines the shortest route for traffic, updates the routing table, provides fixed routing
paths within a fabric, and maintains correct ordering of frames. FSPF keeps track of the state of the
links on all switches in the fabric and associates a cost with each link. The protocol computes paths
from a switch to all the other switches in the fabric by adding the cost of all links traversed by the
path, and chooses the path that minimizes the costs. This collection of the link states, including
costs, of all the switches in the fabric constitutes the topology database or link state database.
Once established, FSPF programs the hardware routing tables for all active ports on the switch.
FSPF is not involved in frame switching. FSPF uses several frames to perform its functions. Since it
may run before fabric routing is set up, FSPF does not use the routing tables to propagate the
frames, but floods the frames throughout the fabric hop-by-hop. Frames are first flooded on all the
Inter-Switch Links (ISLs); as the protocol progresses, it builds a spanning tree rooted on the
Principal Switch. Frames are only sent on the Principal ISLs that belong to the spanning tree. When
there are multiple ISLs between switches, the first ISL to respond to connection requests becomes
the Principal ISL. Only one ISL from each switch will be used as the Principal ISL.
FSPF makes minimal use of the ISL bandwidth, leaving virtually all of it available for traffic. In a
stable fabric, a switch transmits 64 bytes every 20 seconds in each direction. FSPF frames have
the highest priority in the fabric. This guarantees that a control frame is not delayed by user data
and that FSPF routing decisions occur very quickly during convergence.
FSPF guarantees a routing loop free topology at all times. It is essential for a fabric to include many
physical loops because without loops there would be no multiple paths between switches, and
therefore no redundancy. If a link went down, part of the fabric becomes isolated. FSPF ensures
that the topology is loop free and that the frame is never forwarded over the same ISL more than
once.
FSPF calculates paths based on the destination domain ID. The fabric protocol must complete
domain ID assignments before routing can begin. ISLs provide the physical pathway when the
Source ID (SID) address has a frame destined to a port on a remote switch Destination ID (DID).
When an ISL is attached or removed from a switch, the FSPF updates the route tables to reflect the
addition or deletion of the new routes.
As each host transmits a frame to the switch, the switch reads the SID and DID in the frame
header. If the domain ID of the destination address is the same as the switch (intra-switch
communications), the frame buffer is copied to the destination port and a credit R_RDY is sent to
the host. The switch only needs to read word zero and word one of the Fibre Channel frame to
perform what is known as cut-through routing. A frame may begin to emerge from the output port
before it has been entirely received by the input port. The entire frame does not need to be
buffered in the switch.
If the destination domain ID is different than the source domain ID, then the switch consults the
FSPF route table to identify which local E_Port provides the Fabric Shortest Path First to the remote
domain.