System and method for router packet control and ordering
First Claim
1. A system for router packet control and ordering comprising:
- a packet forwarding engine containing a plurality of fast data paths each interconnected with an input port and an output port;
a processing block interconnected with said input ports of said packet forwarding engine through a plurality of rate matching queues;
an ingress application specific integrated circuit (ASIC) containing a packet ordering block, said packet ordering block interconnected with said output ports of said packet forwarding engine through a plurality of reorder queues within said ingress ASIC; and
a packet data random access memory (RAM) interconnected with said ingress ASIC, wherein said packet forwarding engine contains an exception processor, such that said fast data path bypasses said exception processor and such that said fast data path is interconnected with said exception processor through an exception data path.
9 Assignments
0 Petitions
Accused Products
Abstract
Hardware interconnected around multiple packet forwarding engines prepends sequence numbers to packets going into multiple forwarding engines through parallel paths, After processing by the multiple forwarding engines, packets are reordered using queues and a packet ordering mechanism, such that the sequence numbers are put back into their original prepended order. Exception packets flowing through the forwarding engines do not follow a conventional fast path, but are processed off-line and emerge from the forwarding engines out of order relative to fast path packets. These exception packets are marked, such that after they exit the forwarding engines, they are ordered among themselves independent of conventional fast path packets. Viewed externally, all exception packets are ordered across all multiple forwarding engines independent of the fast path packets.
111 Citations
42 Claims
-
1. A system for router packet control and ordering comprising:
-
a packet forwarding engine containing a plurality of fast data paths each interconnected with an input port and an output port;
a processing block interconnected with said input ports of said packet forwarding engine through a plurality of rate matching queues;
an ingress application specific integrated circuit (ASIC) containing a packet ordering block, said packet ordering block interconnected with said output ports of said packet forwarding engine through a plurality of reorder queues within said ingress ASIC; and
a packet data random access memory (RAM) interconnected with said ingress ASIC, wherein said packet forwarding engine contains an exception processor, such that said fast data path bypasses said exception processor and such that said fast data path is interconnected with said exception processor through an exception data path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for router packet control and ordering comprising:
-
a packet forwarding engine containing a plurality of fast data paths each interconnected with an input port and an output port;
a processing block interconnected with said input ports of said packet forwarding engine through a plurality of rate matching queues;
an ingress application specific integrated circuit (ASIC) containing a packet ordering blocks said packet ordering block interconnected with said output torts of said packet forwarding engine through a plurality of reorder queues within said ingress ASIC; and
a packet data random access memory (RAM) interconnected with said ingress ASIC, said system comprising a plurality of said packet forwarding engines, such that each said packet forwarding engine contains a plurality of fast data paths each interconnected with an input port and an output port, each said input port interconnected with said processing block through a plurality of rate matching queues; and
each said output port interconnected with said packet ordering block through a plurality of reorder queues within said ingress ASIC. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A method of control and ordering of information packets in a network router comprising:
-
receiving through an input data link said packets;
sequence numbering said packets;
distributing said packets among a plurality of rate matching queues, such that each said rate matching queue feeds one of substantially parallel data links having differing information rates;
flowing said packets through said plurality of substantially parallel data links at differing information rates; and
reordering said packets after said flowing;
said packets comprising fast path packets and exception packets different from said fast path packets, wherein said exception packets are processed within a portion of said plurality of substantially parallel data links that is bypassed by said fast path packets, wherein said exception packets are reordered separately and independently from said fast path packets; and
wherein said reordering of fast path packets comprises;
receiving said fast path packets from said substantially parallel data links;
separating said packet headers from said packet payloads;
loading said packet headers into a plurality of fast path reorder queues; and
removing said packet headers from said fast path reorder queues in order of said sequence numbering. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A method of control and ordering of information packets in a network router comprising:
-
receiving through an input data link said packets;
sequence numbering said packets;
distributing said packets among a plurality of rate matching queues, such that each said rate matching queue feeds one of substantially parallel data links having differing information rates;
flowing said packets through said plurality of substantially parallel data links at differing information rates; and
reordering said packets after said flowing;
said packets comprising fast path packets and exception packets different from said fast path packets, wherein said exception packets are processed within a portion of said plurality of substantially parallel data links that is bypassed by said fast path packets, wherein said exception packets are reordered separately and independently from said fast path packets; and
wherein said separate and independent reordering of exception packets comprises;
receiving said exception packets from said substantially parallel data links;
separating said exception packet headers from said exception packet payloads;
loading said exception packet headers into a plurality of exception reorder queues; and
removing said exception packet headers from said exception reorder queues in order of said sequence numbering. - View Dependent Claims (39, 40, 41, 42)
-
Specification