Pipelined packet switching and queuing architecture
First Claim
1. An apparatus for switching packets, each packet having a header portion and a corresponding tail portion, the apparatus comprising:
- a plurality of packet header buffers (PHBs); and
a plurality of header processing pipelines, whereineach of the plurality of header processing pipelines comprises a plurality of pipeline stage circuits connected in a sequence, whereinthe plurality of pipeline stage circuits comprises at least a fetch stage circuit and a gather stage circuit,each stage circuit of the plurality of pipeline stage circuits is configured to pass data to a next circuit,the fetch stage circuit is configured to receive the header portion and store the header portion in one of the plurality of PHBs, andthe gather stage circuit is configured to output a modified header portion,a pipeline stage circuit of the plurality of pipeline stage circuits is configured to copy data from a first PHB of the plurality of PHBs to a second PHB of the plurality of PHBs,each of a first plurality of the plurality of pipeline stage circuits are configured to access the first PHB, andthe plurality of header processing pipelines are configured to concurrently process header portions in each header processing pipeline.
1 Assignment
0 Petitions
Accused Products
Abstract
An architecture for a line card in a network routing device is provided. The line card architecture provides a bi-directional interface between the routing device and a network, both receiving packets from the network and transmitting the packets to the network through one or more connecting ports. In both the receive and transmit path, packets processing and routing in a multi-stage, parallel pipeline that can operate on several packets at the same time to determine each packet'"'"'s routing destination is provided. Once a routing destination determination is made, the line card architecture provides for each received packet to be modified to contain new routing information and additional header data to facilitate packet transmission through the switching fabric. The line card architecture further provides for the use of bandwidth management techniques in order to buffer and enqueue each packet for transmission through the switching fabric to a corresponding destination port. The transmit path of the line card architecture further incorporates additional features for treatment and replication of multicast packets.
-
Citations
20 Claims
-
1. An apparatus for switching packets, each packet having a header portion and a corresponding tail portion, the apparatus comprising:
-
a plurality of packet header buffers (PHBs); and a plurality of header processing pipelines, wherein each of the plurality of header processing pipelines comprises a plurality of pipeline stage circuits connected in a sequence, wherein the plurality of pipeline stage circuits comprises at least a fetch stage circuit and a gather stage circuit, each stage circuit of the plurality of pipeline stage circuits is configured to pass data to a next circuit, the fetch stage circuit is configured to receive the header portion and store the header portion in one of the plurality of PHBs, and the gather stage circuit is configured to output a modified header portion, a pipeline stage circuit of the plurality of pipeline stage circuits is configured to copy data from a first PHB of the plurality of PHBs to a second PHB of the plurality of PHBs, each of a first plurality of the plurality of pipeline stage circuits are configured to access the first PHB, and the plurality of header processing pipelines are configured to concurrently process header portions in each header processing pipeline. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An apparatus for switching packets, each packet having a header portion and a corresponding tail portion, the apparatus comprising:
-
a plurality of packet header buffers (PHBs); and a plurality of header processing pipelines comprising a means for fetching the header portion comprising a means for receiving the header portion, and a means for storing the header portion in one of the plurality of PHBs, a plurality of sequential means for processing the header portion, and a means for outputting a modified header portion from the header processing pipeline, wherein the means for fetching, the plurality of sequential means for processing, and the means for outputting each comprise a means for passing data to one of a next means for fetching, means for processing, or means for outputting, a sequential means for processing the header portion of the plurality of sequential means for processing the header portion is configured to copy data from a first PHB of the plurality of PHBs to a second PHB of the plurality of PHBs, each of a first plurality of the plurality of sequential means for processing the header portion are configured to access the first PHB, and the plurality of header processing pipelines are configured to concurrently process header portions in each header processing pipeline.
-
-
16. A method for switching packets comprising:
-
receiving a packet comprising a header portion and a corresponding tail portion; and processing the header portion using a head processing unit, wherein the head processing unit comprises a plurality of packet header buffers (PHBs) and a plurality of header processing pipelines further comprising a plurality of pipeline stage circuits connected in sequence and at least a fetch stage circuit and a gather stage circuit, each of a first plurality of the plurality of pipeline stage circuits are configured to access one of the plurality of PHBs, and said processing comprises passing data to a next circuit in the sequence when an operation performed by each of the plurality of pipeline stage circuits is completed, reading and storing the header portion in one of the plurality of PHBs, wherein said reading and storing is performed by the fetch stage circuit, copying data from a first PHB of the plurality of PHBs to a second PHB of the plurality of PHBs, outputting a modified header portion, wherein said outputting is performed by the gather stage circuit, and performing said processing on the header portion concurrently with processing a plurality of header portions in each of the plurality of header processing pipelines. - View Dependent Claims (17, 18, 19, 20)
-
Specification