Look-up engine for packet-based network
First Claim
1. An arrangement for parsing packets in a packet-based digital communications network, said packets including packet headers divided into fields having values representing information pertaining to the packet, said arrangement comprising:
- a) an input memory for receiving fields from said packet headers of incoming packets; and
(b) a look-up engine for retrieving stored information appropriate to a received field value, said look-up engine including;
(i) at least one memory storing information related to possible values of said fields in a hierarchical tree structure and associated with a respective field of packet headers;
(ii) a memory controller associated with each said memory storing information related to possible values of said fields for controlling the operation thereof to retrieve said stored information therefrom; and
(iii) a microcode controller for parsing a remaining portion of the packet header while said stored information is retrieved and controlling the overall operation of said look-up engine.
6 Assignments
0 Petitions
Accused Products
Abstract
An arrangement is disclosed for parsing packets in a packet-based data transmission network. The packets include packet headers divided into fields having values representing information pertaining to the packet. The arrangement includes an input receiving fields from the packet headers of incoming packets, a memory for storing information related to possible values of said fields, and a device for retrieving the stored information appropriate to a received field value. The retrieving device comprises a look-up engine including at least one memory organized in a hierarchical tree structure, and a controller for controlling the operation of the memory. The arrangement is capable of performing fast look-up operations at a low cost of implementation.
287 Citations
29 Claims
-
1. An arrangement for parsing packets in a packet-based digital communications network, said packets including packet headers divided into fields having values representing information pertaining to the packet, said arrangement comprising:
-
a) an input memory for receiving fields from said packet headers of incoming packets; and (b) a look-up engine for retrieving stored information appropriate to a received field value, said look-up engine including; (i) at least one memory storing information related to possible values of said fields in a hierarchical tree structure and associated with a respective field of packet headers; (ii) a memory controller associated with each said memory storing information related to possible values of said fields for controlling the operation thereof to retrieve said stored information therefrom; and (iii) a microcode controller for parsing a remaining portion of the packet header while said stored information is retrieved and controlling the overall operation of said look-up engine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 29)
-
-
10. An arrangement for parsing packets in a packet-based digital communications network, said packets including packet headers divided into fields having values representing information pertaining to the packet, said arrangement comprising:
-
(a) an input memory for receiving fields from said packet headers of incoming packets; and (b) a look-up engine for retrieving stored information appropriate to a received field value, said look-up engine including; (i) a plurality of memories storing information related to possible values of said fields in a hierarchical tree structure and operating in parallel, said memories being associated with respective fields of said packet headers; (ii) a main controller controlling overall operation of the look-up engine; and (iii) a memory controller associated with each said respective memory for controlling the operation thereof to retrieve said stored information therefrom. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. An arrangement for parsing packets in a packet-based digital communications network, said packets including packet headers including destination and source address fields, said arrangement comprising:
-
(a) an input memory for receiving fields from said packet headers of incoming packets; and (b) a look-up engine for retrieving stored information appropriate to a received field value, said look-up engine including; (i) a source address look-up engine including a memory storing information related to possible values of said source address field in a hierarchical tree structure; (ii) a memory controller associated with said source look-up engine for controlling the operation thereof to retrieve stored information therefrom; (iii) a destination address look-up engine including a memory storing information related to possible values of said destination address field in a hierarchical tree structure; (iv) a memory controller associated with said destination look-up engine for controlling the operation thereof to retrieve stored information therefrom; (v) a processor controlling overall operation of said source and destination address look-up engines, said source and destination address look-up engines and said processor operating in parallel. - View Dependent Claims (18, 19)
-
-
20. An arrangement for parsing packets in a packet-based digital communications network, said packets including packet headers including destination and source address fields, said arrangement comprising:
-
(a) an input memory for receiving fields from said packet headers of incoming packets; and (b) a look-up engine for retrieving stored information appropriate to a received field value, said look-up engine including; (i) a source address look-up engine including a memory storing information related to possible values of said source field in a hierarchical tree structure; (ii) a memory controller associated with said source look-up engine for controlling the operation thereof to retrieve stored information therefrom; (iii) a destination address look-up engine including a memory storing information related to possible values of said destination field in a hierarchical tree structure and an associated memory controller; (iv) a memory controller associated with said destination look-up engine for controlling the operation thereof to retrieve stored information therefrom; and iii) a microcode processor controlling overall operation of said source and destination address look-up engine, said source and destination address look-up engines and said processor operating in parallel, and said microcode processor being arranged to parse additional fields in said packet header while said source and destination address look-up engines retrieve said related information. - View Dependent Claims (21)
-
-
22. A method of parsing packets in a packet-based digital communications network, said packets including packet headers divided into fields having values representing information pertaining to the packet, comprising the steps of:
-
(a) receiving fields of packet headers from incoming packets in an input memory; (b) retrieving stored information appropriate to a received field value by performing a tree search in a look-up engine having at least one memory storing information related to possible values of said fields in a hierarchical tree structure and associated with a respective field of packet headers, said at least one memory being controlled by a memory controller associated therewith to retrieve said stored information therefrom; and (c) parsing a remaining portion of the packet header while said stored information is being retrieved from said at least one memory with a main controller, which main controller also controls the overall operation of said look-up engine. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A method of parsing packets in a packet-based digital communications network, said packets including packet headers divided into fields having values representing information pertaining to a packet, comprising the steps of:
-
(a) storing in memory information related to possible values of said fields in a hierarchical tree structure; (b) receiving a plurality fields from said packet headers of incoming packets, one of said fields being a destination address and said related information therefor comprising path data associated with said respective destination address, and another of said fields being a source address and said related information therefor comprising path data associated with said source address; (c) retrieving in parallel said stored information appropriate to received field values by performing a tree search under the control of a microcode controller; and (d) parsing a remaining portion of the packet header using a specific instruction set while said related information is retrieved.
-
Specification