For more details, please see ourCookie Policy.

Fibre Channel (SAN)

Occasional Contributor
Posts: 19
Registered: ‎12-16-2009

Buffer Credit recovery

Hi. Can anyone explain how that feature works?

I found some description of it in Admin guide but it does not say anything more than:


Buffer credit recovery allows links to recover after buffer credits are lost when the buffer credit recovery
logic is enabled. The buffer credit recovery feature also maintains performance. If a credit is lost, a
recovery attempt is initiated. During link reset, the frame and credit loss counters are reset without
performance degradation.


I just wonder what means "credit is lost" and how will transmitting side get the understanding of it? 

And what exactly the mechanism of recovery? If there were 8 bb credits on port and after sending 8 frames to connected device they did not receive any single R_RDY, will credit buffers be restores to 8 bb credits again? how soon?


Former Brocadian
Posts: 95
Registered: ‎03-23-2015

Re: Buffer Credit recovery

[ Edited ]

Hi @afarenyuk,


While we still encourage the community to assist with your post, I wanted to let you know that we have started a pilot program with TAC to help with some of the questions being asked and yours has been handed off to our TAC technicians. They will be reaching out to you shortly to gather some more information so we can get you in touch with the right engineer . I encourage you to continue to post in the community and let me know if there is any way I can help. Once your post is resolved, we will make sure to post the resolution back to the community to help other members.


TAC Engaged.png

Dennis Smith
Manager Brocade Communities
Regular Contributor
Posts: 166
Registered: ‎02-05-2014

Re: Buffer Credit recovery

You might want to have a look here:


There are also a lot of other articles on there which show fabric behaviour etc....

Kind regards,
Erwin van Londen
Brocade Distinguished Architect The Fibre Channel blog

Q&A ->

Posts: 22
Registered: ‎09-23-2011

Re: Buffer Credit recovery

Hi Alex!


The reason for the lost credit could be:


  • A frame error that causes the SOF (start of frame delimeter) to be corrupted (enc_in counter of the porterrshow command). Thus receiving port will fail to recognize the frame and subsequently not send the R_RDY. 
  • A transmission error (enc_out counter of the porterrshow command) causing an R_RDY to become corrupted may result in the receiving port failing to recognize the R_RDY. 

There are 2 methods to resolve such issues:


  • Lost BB_credits can be recovered by Link Reset (LR).This restores the available BB_Credit back to the login BB_Credit values but is disruptive to traffic.
  • Lost BB_credits can be recovered by counting and resetting the counter(s) without a link reset. Non-disruptive


But how sender or receiver could recognize these errors? To achive this there are additional counters and primitives:


  1. Buffer to Buffer State Change-R_RDY (BB_SCr). Transmitted periodically to enable attached port to determine if any
    R_RDYs have been lost.
  2. Buffer to Buffer State Change-SOF (BB_SCs). Transmitted to enable an attached port to determine if any frames
    have been lost.
  3. Buffer to Buffer State Change Number (BB_SC_N). It contains the value specifying the number of frames between BB_SCs
    primitive signals and the number of R_RDYs between BB_SCr primitive signals.

Each port maintains a count between successive occurrences of BB_SCs and BB_SCr. Thus if port receives less frames between the BB_SCs and less R_RDY between the BB_SCr then it will know that something went wrong.


The recovery mechanism for FOS below the 7.0 level is Link Reset. FOS 7.0 and beyond counts the number of “missing” R_RDYs and adds the number back to the BB credit counter.

Join the Broadcom Support Community

Get quick and easy access to valuable resources across the Broadcom Community Network.