Optimization of routing forwarding database in a network processor
First Claim
1. A routing device comprising:
- a port adapted to receive a protocol data unit (PDU);
a routing table for storing a plurality of routes in a multi-way trie having a plurality of nodes, the routing table comprising;
a first route memory for caching a first set of the plurality of nodes; and
a second route memory for caching a second set of the plurality of nodes;
a routing engine adapted to search the routing table for one of the plurality of routes associated with the PDU; and
a route manager adapted to relocate one or more nodes of the second set from the second route memory to the first route memory, wherein a utilization count for each of the nodes of the first route memory is higher than each of the nodes of the second route memory.
9 Assignments
0 Petitions
Accused Products
Abstract
A routing device and associated method for allocating the nodes of a multi-way trie of a forwarding routing table between two or more memory devices is disclosed. In the preferred embodiment, the routing device comprises a routing table for storing a plurality of routes in a multiway trie in a first memory for caching a first set of the plurality of trie nodes and a second memory for caching a second set of the plurality of trie nodes; and a route manager adapted to relocate one or more nodes of the second set from the second memory to the first memory such that the a utilization count for each of the nodes of the first memory is higher than each of the nodes of the second memory.
-
Citations
25 Claims
-
1. A routing device comprising:
-
a port adapted to receive a protocol data unit (PDU);
a routing table for storing a plurality of routes in a multi-way trie having a plurality of nodes, the routing table comprising;
a first route memory for caching a first set of the plurality of nodes; and
a second route memory for caching a second set of the plurality of nodes;
a routing engine adapted to search the routing table for one of the plurality of routes associated with the PDU; and
a route manager adapted to relocate one or more nodes of the second set from the second route memory to the first route memory, wherein a utilization count for each of the nodes of the first route memory is higher than each of the nodes of the second route memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19)
-
-
16. A method of caching a plurality of routes in a forwarding routing database of a routing device, the routing device comprising a first route memory and a second route memory, each of the plurality of routes being associated with a plurality of nodes organized in the form of a multi-way trie, the method comprising the steps of:
-
assigning nodes associated with one or more of the plurality of routes to the first route memory if memory space is available;
assigning nodes associated with one or more of the plurality of routes to the second route memory if memory space in the first route memory is unavailable;
generating a utilization count for one or more nodes assigned to the first route memory and for one or more nodes assigned to the second route memory;
comparing the utilization count for the one or more nodes assigned to the first route memory with the utilization count for the one or more nodes assigned to the second route memory; and
if the utilization count of at least one of the one or more nodes in the second route memory exceeds the utilization count of at least one of the one or more nodes in the first route memory, then reassigning the at least one of the one or more nodes in the second route memory to the first route memory. - View Dependent Claims (17, 18, 20, 21, 22, 23)
-
-
24. A routing device comprising:
-
a port adapted to receive a of protocol data unit (PDU) characterized by one or more PDU properties;
a route memory adapted to store a plurality of routes in a multiway trie, the route memory comprising;
a first memory for caching a plurality of nodes of the trie; and
a second memory for caching at least one node of the trie;
a forwarding table adapted to store forwarding information associated with the PDU;
a route manager adapted to;
generate a utilization count for the plurality of nodes of the first memory and for the at least one node of the second memory;
compare the utilization count for the plurality of nodes of the first memory with the utilization count for the at least one node of the second memory; and
if the utilization count of a second node in the second memory exceeds the utilization count of a first node having the lowest utilization count in the first memory, then store the second node in the first memory. - View Dependent Claims (25)
-
Specification