Claims
- 1. A method for providing buffer-to-buffer credit port-level flow control for a computer network in operative communication with a plurality of ingress and egress network processors, each having an egress port and an ingress port that is associated with a buffer-to-buffer credit value corresponding to the current number of frames the ingress port may send, a buffer value corresponding to the current total frame size the ingress port may send, and a pending buffer-to-buffer value corresponding to the pending buffer-to-buffer credits an egress port may issue the ingress port, and wherein a set of network processors is associated with a bridge, the method comprising the steps of:
sending a frame from the ingress port to a destination egress port, if the ingress port has a sufficient buffer-to-buffer credit value and buffer value; decrementing the buffer-to-buffer credit value associated with the ingress port; decrementing the buffer value associated with the ingress port; determining whether to increment the buffer-to-buffer credit value associated with the ingress port; incrementing the pending credit value associated with the ingress port; and determining whether to send a credit message to the ingress port.
- 2. The method of claim 1,
wherein the computer system further comprises a switch fabric; and wherein the network processors are in operative communication with the switch fabric via the associated bridge.
- 3. The method of claim 2, wherein the step of determining whether to increment the buffer-to-buffer credit value further comprises:
incrementing the buffer-to-buffer credit value associated with the ingress port if the product of one plus the buffer-to-buffer credit value times the maximum frame size in bytes is less than or equal to a minimum egress buffering value; and wherein the minimum egress buffering value corresponds to the minimum amount of egress buffering that is available for any one egress port.
- 4. The method of claim 3, wherein the step of determining whether to send a credit message to the ingress port further comprises:
sending the credit message if the pending credit value is greater than, or equal to, a credit watermark value.
- 5. The method of claim 4, further comprising the step of:
increasing the buffer value if the credit message is sent.
- 6. A system for providing buffer-to-buffer credit port-level flow control for a computer network in operative communication with a plurality of ingress and egress network processors, said system comprising:
a plurality of ingress and egress network processors, each of said plurality of network processors having an egress port and an ingress port that is associated with a buffer-to-buffer credit value corresponding to the current number of frames the ingress port may send, a buffer value corresponding to the current total frame size the ingress port may send, and a pending buffer-to-buffer value corresponding to the pending buffer-to-buffer credits an egress port may issue the ingress port, and wherein a set of said plurality of network processors is associated with a bridge, wherein:
a frame is sent from the ingress port to a destination egress port, if the ingress port has a sufficient buffer-to-buffer credit value and buffer value; the buffer-to-buffer credit value associated with the ingress port is decremented; the buffer value associated with the ingress port is decremented; the buffer-to-buffer credit value associated with the ingress port is determined whether to be increment; the pending credit value associated with the ingress port is incremented; and a credit message to the ingress port is determined whether to be sent.
- 7. The system of claim 6,
wherein the computer system further comprises a switch fabric; and wherein the network processors are in operative communication with the switch fabric via the associated bridge.
- 8. The system of claim 7, wherein the buffer-to-buffer credit value is determined whether to incremented further comprises:
the buffer-to-buffer credit value associated with the ingress port is incremented if the product of one plus the buffer-to-buffer credit value times the maximum frame size in bytes is less than or equal to a minimum egress buffering value, wherein the minimum egress buffering value corresponds to the minimum amount of egress buffering that is available for any one egress port.
- 9. The system of claim 8, wherein when the pending credit value is greater than, or equal to, a credit watermark value the credit message is sent to the ingress port.
- 10. The system of claim 9, further comprising the buffer value is increased if the credit message is sent.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to U.S. patent application Ser. No. ______, titled “Caching System and Method for a Network Storage System” by Lin-Sheng Chiou, Mike Witkowski, Hawkins Yao, Cheh-Suei Yang, and Sompong Paul Olarig, which was filed on Dec. 14, 2000 and which is incorporated herein by reference in its entirety for all purposes; U.S. patent application Ser. No. ______, [attorney docket number 069099.0102/B2], titled “System, Apparatus and Method for Address Forwarding for a Computer Network” by Hawkins Yao, Cheh-Suei Yang, Richard Gunlock, Michael L. Witkowski, and Sompong Paul Olarig, which was filed on Oct. 26, 2001 and which is incorporated herein by reference in its entirety for all purposes; U.S. patent application Ser. No. ______, titled “Network Processor to Switch Fabric Bridge Implementation” by Sompong Paul Olarig, Mark Lyndon Oelke, and John E. Jenne, which was filed on ______, and which is incorporated herein by reference in its entirety for all purposes; U.S. patent application Ser. No. ______, [attorney docket number 069099.0105/B-5], titled “Network Processor Interface System” by Sompong Paul Olarig, Mark Lyndon Oelke and John E. Jenne, which is being filed concurrently on Dec. 31, 2001, and which is incorporated herein by reference in its entirety for all purposes; and U.S. patent application Ser. No. ______, [attorney docket number 069099.0107/B6-A], titled “Xon/Xoff Flow Control for Computer Network” by Hawkins Yao, John E. Jenne and Mark Lyndon Oelke, which is being filed concurrently on Dec. 31, 2001, and which is incorporated herein by reference in its entirety for all purposes.