Hash and route hardware with parallel routing scheme
First Claim
Patent Images
1. A multiprocessor switching chip, comprising:
- a receiver port;
a plurality of destination modules within the multiprocessor switching chip; and
a routing circuit coupled to receive a plurality of packets from the receiver port and programmably configured, for each received packet, to select a destination module for said received packet by calculating a routing signal using one or both of programmably selected control and data information extracted from the received packet as said received packet is being received, said routing circuit comprisinga first table containing a plurality of independent rules that process data from the received packet in parallel as each packet is received to generate a rule table output for each rule contained in the first table; and
a second table containing a plurality of paths that combine the rule table outputs from the first table to generate a routing signal for the received packet.
7 Assignments
0 Petitions
Accused Products
Abstract
A multiprocessor switching device substantially implemented on a single CMOS integrated circuit is described in connection with a parallel routing scheme for calculating routing information for incoming packets. Using the programmable hash and route routing scheme, a hash and route circuit can be programmed for a variety of applications, such as routing, flow-splitting or load balancing.
30 Citations
14 Claims
-
1. A multiprocessor switching chip, comprising:
-
a receiver port; a plurality of destination modules within the multiprocessor switching chip; and a routing circuit coupled to receive a plurality of packets from the receiver port and programmably configured, for each received packet, to select a destination module for said received packet by calculating a routing signal using one or both of programmably selected control and data information extracted from the received packet as said received packet is being received, said routing circuit comprising a first table containing a plurality of independent rules that process data from the received packet in parallel as each packet is received to generate a rule table output for each rule contained in the first table; and a second table containing a plurality of paths that combine the rule table outputs from the first table to generate a routing signal for the received packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A hash and route circuit for routing packet data extracted from a packet received on an input virtual channel to an output virtual channel, comprising:
-
a decoder for decoding a received packet to extract packet data and input virtual channel information for the packet; a rule table comprising a plurality of programmable rules, where each rule selects at least one byte from the packet data or the input virtual channel information and compares the selected at least one byte to an operand of the rule to generate a true/false result for the rule; a path table coupled to receive the true/false results from the rule table, said path table comprising a plurality of entries which search for selected true/false results from the rule table and output path data from a matching entry; and a routing table, wherein the path data from the path table may be directly output as an output virtual channel or may be used as an index to the route table which outputs an output virtual channel or may be used to select an output of a hash function as an index to the route table.
-
Specification