Deployment Guide

be sent by the receiving link port to the sender. The rate of frame transmission is regulated by the
receiving port, and is based on the availability of buffers to hold received frames.
If Virtual Channel technology is in use, the VC_RDY or EXT_VC control word is used instead of the
R_RDY control word to manage buffer credits. For Virtual Channels, the buffer credits are managed
for each Virtual Channel, and not for the entire physical link.
The Virtual Channels used in VC_RDY flow-control mode range from VC0 through VC7. When QoS is
enabled, EXT_VC_RDY flow-control mode allocates VC0 through VC14. VC8 through VC14 are
allocated specifically for QoS VCs.
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
Considerations follow for calculating how many ports can be configured for long distance on all Fabric
OS v7.x-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 120 and Configuring
buffers for a single port directly on page 122 for more information.
Optimal buffer credit allocation
118 Fabric OS Administrators Guide
53-1003130-01