Pipelined packet switching and queuing architecture
First Claim
1. An apparatus for switching packets, each packet having a header and a corresponding tail, the apparatus comprising:
- a header processing pipeline comprising 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;
an input buffer configured to receive a multicast packet header from a switch fabric interface queue;
sequence number logic configured to associate a first sequence number with the multicast packet header; and
a recycle path coupling the gather stage circuit and the fetch stage circuit, wherein the fetch stage circuit is configured toprovide the multicast packet header and first sequence number to a subsequent stage circuit in the header processing pipeline, andthe gather stage circuit is configured tooutput the first sequence number and a modified multicast packet header corresponding to the multicast packet header, andprovide a multicast packet header replica to the fetch stage circuit via the recycle path, the multicast packet header replica being a replica of the multicast packet header.
0 Assignments
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. The transmit path of the line card architecture further incorporates additional features for treatment and replication of multicast packets. These features can include a recycle path coupling a gather stage circuit and a fetch stage circuit and can include sequence number logic configured to associate sequence numbers with multicast packet headers.
82 Citations
30 Claims
-
1. An apparatus for switching packets, each packet having a header and a corresponding tail, the apparatus comprising:
-
a header processing pipeline comprising 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; an input buffer configured to receive a multicast packet header from a switch fabric interface queue; sequence number logic configured to associate a first sequence number with the multicast packet header; and a recycle path coupling the gather stage circuit and the fetch stage circuit, wherein the fetch stage circuit is configured to provide the multicast packet header and first sequence number to a subsequent stage circuit in the header processing pipeline, and the gather stage circuit is configured to output the first sequence number and a modified multicast packet header corresponding to the multicast packet header, and provide a multicast packet header replica to the fetch stage circuit via the recycle path, the multicast packet header replica being a replica of the multicast packet header. - 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 and a corresponding tail, the apparatus comprising:
-
means for receiving a multicast packet header; means for associating a first sequence number with the multicast packet header; means for fetching the multicast packet header comprising means for providing the multicast packet header and the first sequence number to a subsequent one of a plurality of sequential means for processing; means for outputting a modified multicast packet header and the first sequence number from an egress means for processing of the plurality of sequential means for processing; and means for providing a multicast packet header replica to the means for fetching from the egress means for processing, wherein the modified multicast packet header corresponds to the multicast packet header, and the multicast packet header replica is a replica of the multicast packet header. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method for switching packets comprising:
-
receiving a multicast packet header; associating a first sequence number with the multicast packet header; providing the multicast packet header and first sequence number to a first stage circuit of a header processing pipeline, wherein the header processing pipeline comprises a plurality of pipeline stage circuits connected in sequence; processing the multicast packet header in one or more of the stages of the header processing pipeline and generating a modified multicast packet header corresponding to the multicast packet header; outputting the modified multicast packet header and the first sequence number; and providing a multicast packet header replica to the first stage circuit of the header processing pipeline, wherein the multicast packet header replica is a replica of the multicast packet header. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
Specification