Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Our SAN consists of some Brocade 5100 FC-switches, three storage systems and a number of servers. The none of the switches are inter-connected (no inter-switch links). All servers, switches and storage systems are located within the same server room.

I have started looking closer at some counters in our FC switches. On of them, SW-MIB::swFCPortNoTxCredits, counts

the number of times when the transmit credit has reached zero

(qouting from the MIB)

I have a hard time finding descriptions of the concept of transmit credits. But from the little that I've found, it seems to be used for some kind of FC congestion control, and it seems to be particularly interesting on SANs with long-distance fibers.

One of the ports is connected to an IBM XIV storage system. The storage system is believed to be busy, but not over-loaded. However, we do suspect that this storage system sometimes has some latency issues. I see no swFCPortRxCrcs, swFCPortRxBadOs or swFCPortRxEncOutFrs for the port.

My question: What numbers or patterns for swFCPortNoTxCredits would constitute a problem?

share|improve this question
Specifically, to which port on the XIV is the FC switch port connected? It's only a single port running out of buffer credits? What codelevel on the XIV are you running? – MikeyB Oct 27 '11 at 14:11

You are correct that FC credits (commonly referred to as "buffer credits" or "buffer-to-buffer credits") are used for congestion control. My understanding is that the FC protocol stack guarantees that frames will not be dropped due to a lack of buffer space on a switch or target device. In a nutshell, the device and switch exchange buffer credit capabilities (i.e. the number of Tx and Rx buffers they have) so that they can be sure not to overrun each others' buffers. You could think of this as "proactive" congestion control, in comparison to the "reactive" congestion control that TCP does.

I do not want to butcher the details, so I'll refrain from trying to provide a more thorough explanation. If you're interested in the details of how this works, I would refer to the "Fibre Channel Physical and Signaling Interface" (FC-PH) from the T11 Working Group.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.