Claims
- 1. A method of controlling traffic flow across a switching fabric, comprising:
receiving cells from an ingress; enqueuing the cells in a plurality of queues; dequeuing the cells from the queues; forwarding the cells to an egress; aggregating respective numbers of cells dequeued for each queue; sending to the ingress, in accordance with a scheduling algorithm, a flow control message (FCM) including one or more of the respective numbers of cells dequeued; and resetting the one or more respective numbers of cells dequeued.
- 2. The method of claim 1, further comprising:
combining the FCM and a cell, wherein said sending further includes directing the FCM toward the egress.
- 3. The method of claim 2, further comprising:
locating the ingress near the egress; separating the FCM and the cell; using the FCM to decrement write counters at the ingress; reassembling a packet using the cell; and sending the packet from the egress.
- 4. The method of claim 1, further comprising:
sending the FCM when the one or more respective numbers of cells dequeued are less than two if bandwidth is available.
- 5. The method of claim 1, further comprising:
incorporating the identity of a queue into the FCM.
- 6. The method of claim 1, further comprising:
incorporating the identity of a queue set into the FCM, wherein the queue set is a subplurality of the plurality of queues.
- 7. The method of claim 1, wherein an ingress clock is faster than a switching fabric clock, further comprising:
comparing an ingress clock and a switching fabric clock, wherein the ingress clock is associated with the ingress and the switching fabric clock is associated with the queues; and indicating in the FCM that the ingress is permitted to write to a queue based on said comparing.
- 8. The method of claim 1, wherein a switching fabric clock is faster than an egress clock, further comprising:
comparing a switching fabric clock and an egress clock, where the switching fabric clock is associated with the queues and the egress clock is associated with the egress; and indicating that the egress is able to receive a cell based on said comparing.
- 9. A method of controlling traffic flow across a switching fabric, comprising:
associating a plurality of write counters with a respective plurality of destinations; sending a first cell associated with a first destination of the plurality of destinations; incrementing a first write counter associated with the first destination; receiving a flow control message (FCM) including a first read count; and decrementing the first write counter in accordance with the first read count.
- 10. The method of claim 9, further comprising:
sending a second cell associated with a second destination of the plurality of destinations; incrementing a second write counter associated with the second destination; and decrementing the second write counter in accordance with a second read count, wherein said receiving further includes receiving said second read count.
- 11. The method of claim 9, further comprising:
delaying said sending if the FCM indicates write not okay.
- 12. A traffic flow control system, comprising:
a switching fabric, including:
a plurality of queues, configured to facilitate the queuing of cells, respectively associated with a plurality of write counters representing a number of cells enqueued in the plurality of queues and a plurality of read counters representing a number of cells dequeued from the plurality of queues; a flow control aggregation unit, coupled to the plurality of queues, configured to:
increment a first read counter of the plurality of read counters when a first cell is dequeued from a first queue of the plurality of queues, wherein the first read counter is associated with the first queue; and create a flow control message (FCM) using the first read counter; and a scheduling module configured to schedule the FCM for transmission from the switching fabric.
- 13. The system of claim 12, further comprising:
a packet processor module, coupled to the switching fabric, including:
an ingress module configured to:
send the first cell to the switching fabric for enqueuing in the first queue; increment a first write counter associated with the first queue when the first cell is sent; receive the FCM; and decrement the first write counter according to the FCM.
- 14. The system of claim 13, the packet processor module further comprising:
an egress module configured to:
receive cells, including the first cell, and the FCM from the switching fabric; reassemble packets from the cells, including the first cell; and forward the FCM to the ingress module.
- 15. The system of claim 14, further comprising:
a first bus, configured to transport cells, coupling the ingress module to the switching fabric; a second bus, configured to transport cells and the FCM, coupling the switching fabric to the egress module; and a third bus, configured to transport the FCM, coupling the egress module to the ingress module.
- 16. The system of claim 12, the switching fabric further comprising:
a transmit module configured to combine the first cell and the FCM and transmit the combined first cell and FCM.
- 17. The system of claim 12, the scheduling module further comprising:
a scheduling algorithm configured to schedule the FCM if bandwidth is available and delay scheduling the FCM until a read counter is incremented if bandwidth is constrained.
- 18. The system of claim 12, the flow control aggregation unit further comprising:
an aggregation algorithm configured to include in the FCM a subplurality of the plurality of read counters associated with a respective subplurality of the plurality of queues.
- 19. The system of claim 13, further comprising:
a switching fabric clock associated with said switching fabric; an ingress clock associated with said ingress module; and a clock comparison module configured to compare the switching fabric clock and the ingress clock and generate a write okay flag in accordance with the comparison, wherein the flow control aggregation unit is further configured to include the write okay flag in the FCM.
- 20. The system of claim 14, the switching fabric further comprising:
a switching fabric clock associated with said switching fabric; an egress clock associated with said egress module; and a clock comparison module configured to compare the switching fabric clock and the egress clock and generate a read okay flag in accordance with the comparison.
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application is entitled to the benefit of provisional Patent Application Serial No. 60/385,981, filed Jun. 4, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60385981 |
Jun 2002 |
US |