Patent ID: 8072988

Claim:
A method for distributing credit in a switch element, comprising: (a) determining if (i) a port for the switch element using a plurality of virtual lanes has received a first flow control indicator, instead of a second flow control indicator used for managing credit for virtual lanes, where each virtual lane is identified by an identification number; and (ii) if the switch element has internally generated the first flow control indicator for recovering lost credit due to loss of a frame; (b) determining if a first virtual lane from among the plurality of virtual lanes has reached a maximum credit value allocated for the first virtual lane; (c) if the first virtual lane has reached the maximum credit value, iteratively determining if another virtual lane for the port has not reached a maximum allocated credit value; and allocating the recovered lost credit to a virtual lane from among the plurality of virtual lanes that has not reached the maximum allocated credit value; (d) if the first flow control indicator is not received or generated for credit recovery in step (a); determining if the second flow control indicator indicating that credit is available at a virtual lane at a destination port has been received by the port; (e) determining if the virtual lane identified by the second flow control indicator in step (d) has already reached its maximum allocated credit; and (f) iteratively analyzing each of the remaining plurality of virtual lanes and applying the credit based on the received second flow control indicator in step (d) to a virtual lane that has not reached a maximum allocated credit even if a virtual lane identification number indicates that credit be allocated to a different virtual lane.