Claims
- 1. A method of switching packets, the method comprising:
receiving a packet with a source line card; transforming the packet into one or more internal frames in the source line card, wherein each user internal frame includes a user switching tag and corresponding user data payload; transmitting the one or more user internal frames from the source line card to a switch fabric having a cross-point switch; storing the one or more internal frames in a cross-point buffer in the cross-point switch; forwarding the one or more internal frames from the cross-point buffer to a destination line card.
- 2. The method of claim 1, further comprising limiting the length of each of the one or more internal frames to a maximum length L.
- 3. The method of claim 1, wherein the one or more internal frames have variable lengths.
- 4. The method of claim 1, further comprising converting the one or more internal frames to one or more packets in the destination line card.
- 5. The method of claim 1, further comprising storing the one or more internal frames in one of a plurality of cross-point queues in the cross-point buffer, wherein each of the cross-point queues supports a different quality of service.
- 6. The method of claim 5, further comprising:
transmitting a purge instruction from the line card to the switch fabric in the user switching tag; purging one or more of the cross-point queues in response to the purge instruction.
- 7. The method of claim 1, further comprising selecting one or more bits in the user switching tag to identify whether the corresponding internal frame provides user data or control information.
- 8. The method of claim 1, further comprising selecting one or more bits in the user switching tag to identify whether the corresponding internal frame is an only internal frame, a first internal frame of a group of internal frames, a middle internal frame of a group of internal frames, or a last internal frame of a group of internal frames.
- 9. The method of claim 1, further comprising selecting one or more bits in the user switching tag to identify a quality of service for the corresponding internal frame.
- 10. The method of claim 1, further comprising identifying an address of the destination line card using one or more bits in the user switching tag.
- 11. The method of claim 1, further comprising storing an error correction code using one or more bits in the user switching tag.
- 12. The method of claim 1, further comprising identifying whether the corresponding internal frame is transmitted to a single destination line card or multiple destination line cards using one or more bits in the user switching tag.
- 13. The method of claim 1, further comprising:
providing a cross-point buffer having a plurality of cross-point queues at each cross-point of the cross-point switch; maintaining a plurality of actual available queue space tables (AAQSTs) in the switch fabric, wherein each of the AAQSTs identifies actual available queue space in a corresponding set of the cross-point queues; and maintaining a predicted available queue space table (PAQST) in each of the line cards, each of the PAQSTs identifying predicted available queue space in a corresponding set of the cross-point queues, each of the PAQSTs corresponding with one of the AAQSTs.
- 14. The method of claim 13, wherein a line card modifies an entry in its PAQST upon transmitting an internal frame including user data to a cross-point queue.
- 15. The method of claim 14, wherein the switch fabric modifies an entry of the AAQST corresponding to the PAQST upon receiving the internal frame transmitted by the line card.
- 16. The method of claim 15, wherein the switch fabric transmits an update instruction to the line card upon transmitting an internal frame to a destination line card, wherein the update instruction causes the line card to modify the PAQST.
- 17. The method of claim 13, further comprising transmitting an instruction from a line card to the switch fabric using the user switching tag, wherein the instruction requests that the switch fabric transmit an AAQST to the line card.
- 18. The method of claim 17, further comprising transmitting the requested AAQST from the switch fabric to the line card using the user switching tag.
- 19. The method of claim 13, further comprising:
periodically transmitting a synchronization request from each line card to the switch fabric; and using the AAQSTs to update the PAQSTs in response to the synchronization request.
- 20. The method of claim 19, wherein the period of the synchronization request is a user-selected parameter.
- 21. The method of claim 1, further comprising:
monitoring an output buffer in the destination line card to determine whether the output buffer is unable to transmit the forwarded internal frames out of the destination line card in a timely manner; asserting an egress congestion indication signal when the output buffer is unable to transmit the forwarded internal frames in a timely manner; and preventing the switch fabric from transmitting internal frames to the destination line card when the egress congestion indication signal is asserted.
- 22. A method of switching packets between a line card and a switch fabric that includes a fixed size queue corresponding to the line card, the method comprising:
transmitting user internal frames from the switch fabric to the line card, wherein the user internal frames include flow control information to indicate an incremental change in a fill level of the queue in the switch fabric; interrupting the transmission of user internal frames between the line card and the switch fabric and then transmitting high priority flow control information between the line card and the switch fabric; and using the high priority flow control information to indicate the ability of the switch fabric to accept additional user internal frames from the line card.
- 23. The method of claim 22, wherein the step of transmitting high priority flow control information between the line card and the switch fabric comprises transmitting a control internal frame from the switch fabric to the line card to indicate an incremental change in the fill level of the queue.
- 24. The method of claim 22, wherein the step of transmitting high priority flow control information between the line card and the switch fabric comprises transmitting a control internal frame from the switch fabric to the line card to indicate an absolute fill level of the queue.
- 25. The method of claim 24, further comprising synchronizing an internal frame transmitting mechanism of the line card to the absolute fill level of the queue in response to the control internal frame.
- 26. The method of claim 22, wherein the step of transmitting high priority flow control information between the line card and the switch fabric comprises transmitting a control internal frame from the line card to the switch fabric to indicate a request for an absolute fill level of the queue.
- 27. The method of claim 22, wherein the step of transmitting high priority flow control information between the line card and the switch fabric comprises transmitting a control internal frame from the line card to the switch fabric to cause the switch fabric to reset the queue.
RELATED APPLICATION
[0001] The present application relates to concurrently filed, co-pending U.S. patent application Ser. No. ______ [Docket No. IDT-1670] entitled “Switch Queue Predictive Protocol (SQPP) Based Packet Switching Method”, owned by the assignee of this application and incorporated herein by reference.