Reference Guide
Upon arriving at a receiver, a frame goes through several steps. It is received, deserialized, and decoded, and is stored in a receive buffer
where it is processed by the receiving port. If another frame arrives while the receiver is processing the first frame, a second receive
buffer is needed to hold this new frame. Unless the receiver is capable of processing frames as fast as the transmitter is capable of
sending them, it is possible for all of the receive buffers to fill up with received frames. At this point, if the transmitter should send another
frame, the receiver will not have a receive buffer available and the frame is lost. Buffer-to-buffer flow control provides consistent and
reliable frame delivery of information from sender to receiver.
Optimal buffer credit allocation
The optimal number of buffer credits is determined by the distance (frame delivery time), the processing time at the receiving port, the
link signaling rate, and the size of the frames being transmitted. As the link speed increases, the frame delivery time is reduced and the
number of buffer credits must be increased to obtain full link utilization, even in a short-distance environment.
For each frame that is transferred, the hardware at the other end must acknowledge that the frame has been received before a
successful transmission occurs. This flow requires enough capacity in the hardware to allow continuous transmission of frames on the
link, while waiting for the acknowledgment to be sent by the receiver at the other end.
As the distance between switches and the link speed increases, additional buffer credits are required for the ports used for long-distance
connections. Distance levels define how buffer credits are allocated and managed for extended ISLs. Buffer credits are managed from a
common pool available to a group of ports on a switch. The buffer credit can be changed for specific applications or operating
environments, but it must be in agreement among all switches to allow formation of the fabric.
Smaller frame sizes need more buffer credits. Two commands are available to help you determine whether you need to allocate more
buffer credits to handle the average frame size. The portBufferShow command calculates the average frame size. The portBufferCalc
command uses the average frame size with the speed and link distance to determine the number of buffer credits needed.
Considerations for calculating buffer credits
The following are the considerations that you need to follow for calculating the number of ports that can be configured for long distance
on all Fabric OS 7.x and later-capable switch modules:
∙ Each port is part of a port group that includes a pool of buffer credits that can be used. This port group is not the same as the
port groups used for ISL Trunking.
∙ Each user port reserves eight buffer credits when online or offline.
∙ Any remaining buffers can be reserved by any port in the port group.
∙ When QoS is enabled and the port is online, additional buffers are allocated to that port. Refer to Calculating the number of
buffers required based on full-size frames on page 130 and Configuring buffers for a single port directly on page 132 for
more information.
Fibre Channel gigabit values reference definition
The following table shows the Fibre Channel gigabit values that you can use to calculate buffer requirements.
TABLE 12 Fibre Channel gigabit values
Gigabit value Line rate
1 Gbps 1.0625
2 Gbps 2.125
4 Gbps 4.25
8 Gbps 8.5
10 Gbps 10.625
Buffer-to-Buffer Credits and Credit Recovery
Brocade Fabric OS Administration Guide, 8.0.1
128 53-1004111-02