A linecard architecture for high speed routing of data in a communications
device. This architecture provides low latency routing based on packet
priority: packet routing and processing occurs at line rate (wire speed)
for most operations. A packet data stream is input to the inbound
receiver, which uses a small packet FIFO to rapidly accumulate packet
bytes. Once the header portion of the packet is received, the header
alone is used to perform a high speed routing lookup and packet header
modification. The queue manager then uses the class of service
information in the packet header to enqueue the packet according to the
required priority. Enqueued packets are buffered in a large memory space
holding multiple packets prior to transmission across the device's switch
fabric to the outbound linecard. On arrival at the outbound linecard, the
packet is enqueued in the outbound transmitter portion of the linecard
architecture. Another large, multi-packet memory structure, as employed
in the inbound queue manager, provides buffering prior to transmission
onto the network.