IP Library Granted Patent US 7,903,666
Granted Patent B1
US 7,903,666 · App. 12/101,026 · Granted Mar 8, 2011

Method and system for compressing route entries in a route table based on equal-cost multi-paths (ECMPs) matches

Assignee: Extreme Networks, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,903,666
App. No.
12/101,026
Granted
Mar 8, 2011
Kind
B1
Abstract

A route compression algorithm is applied to route entries of a route table. The route entries are maintained as nodes in a routing tree. The compression algorithm compresses child nodes having a common gateway with their respective parent nodes. The route entries associated with uncompressed nodes are installed into a forwarding table of a routing device that employs longest prefix match (LPM) lookup to forward data packets.

Claims (42)

1. A method, comprising:

maintaining route entries of a route table as nodes in a routing tree;

compressing child nodes in the routing tree that have a common gateway with their respective parent nodes, wherein the compressing includes

determining the nodes that have a equal-cost multi-path (ECMP), and

compressing a child node for which a number of equal-cost multi-paths (ECMPs) matches with the number of ECMPs of a respective parent node and a set of gateways of the child node matches with the set of gateways of the respective parent node; and

installing the route entries associated with uncompressed nodes into a forwarding table of a routing device that employs longest prefix match (LPM) lookup to forward data packets.

2. The method of claim 1 , wherein each route entry comprises an Internet Protocol (IP) prefix and a gateway.

3. The method of claim 1 , wherein the forwarding table is stored in one of a content-addressable memory (CAM), ternary content-addressable memory (TCAM), random access memory (RAM), dynamic RAM (DRAM), static RAM (SRAM) or a flash memory on the routing device.

4. The method of claim 1 , wherein the route table is stored in a route manager database.

5. The method of claim 1 , wherein the route table is implemented in a control plane and the forwarding table is implemented in a data plane.

6. The method of claim 1 , wherein the routing tree is one or more of a radix tree, a Patricia tree, or a trie.

7. A method for compressing route entries in a route table where the route entries are maintained as nodes in a routing tree, the method comprising:

for each current node

compressing the current node if the current node has a parent node with a same gateway;

determining whether the current node has any child nodes; for each child node

compressing the child node if the child node is uncompressed and the child node and the current node have the same gateway, wherein the compressing includes

determining the nodes that have a equal-cost multi-path (ECMP), and

compressing a child node for which a number of equal-cost multi-paths (ECMPs) matches with the number of ECMPs of a respective parent node and a set of gateways of the child node matches with the set of gateways of the respective parent node;

uncompressing the child node if the child node is compressed and the child node and the current node have different gateways; and

installing the route entries associated with uncompressed nodes into a forwarding table of a routing device.

8. The method of claim 7 , wherein the routing tree is one or more of a radix tree, a Patricia tree, or a trie.

9. The method of claim 7 , wherein each route entry comprises an Internet Protocol (IP) prefix and a gateway.

10. A non-transitory computer-readable medium having content stored thereon to provide instructions to result in an electronic device performing operations including:

maintaining route entries of a route table as nodes in a routing tree;

compressing child nodes that have a common gateway with their respective parent nodes, wherein the compressing includes

determining if the nodes have a equal-cost multi-path (ECMP), and

compressing a child node with ECMP for which a number of equal-cost multi-paths (ECMPs) matches with the number of ECMPs of a respective parent node and a set of gateways of the child node matches with the set of gateways of the respective parent node; and

installing the route entries associated with uncompressed nodes into a forwarding table of a routing device that employs longest prefix match (LPM) lookup to forward data packets.

11. The non-transitory computer-readable medium of claim 10 , wherein each route entry comprises an Internet Protocol (IP) prefix and a gateway.

12. The non-transitory computer-readable medium of claim 10 , wherein the route table is stored in a route manager database.

13. The non-transitory computer-readable medium of claim 10 , wherein the route table is implemented in a control plane and the forwarding table is implemented in a data plane.

14. The non-transitory computer-readable medium of claim 10 , wherein the routing tree is one or more of a radix tree, a Patricia tree, or a trie.

15. A system comprising:

a ternary content-addressable memory (TCAM) to store a forwarding table associated with a routing device;

means for maintaining route entries of a route table as nodes in a routing tree;

means for compressing child nodes that have a common gateway with their respective parent nodes, wherein the means for compressing includes

means for determining if the nodes have a equal-cost multi-path (ECMP), and

means for compressing a child node with ECMP for which a number of equal-cost multi-paths (ECMPs) matches with the number of ECMPs of a respective parent node and a set of gateways of the child node matches with the set of gateways of the respective parent node; and

means for installing the route entries associated with uncompressed nodes into a forwarding table of a routing device that employs longest prefix match (LPM) lookup to forward data packets.

16. The system of claim 15 , wherein each route entry comprises an Internet Protocol (IP) prefix and a gateway.

17. The system of claim 15 , further comprising a route manager database to store the route table.

18. The system of claim 15 , wherein the routing tree is one or more of a radix tree, a Patricia tree, or a trie.

Assignments (10)
RELEASE OF PATENT AND TRADEMARK SECURITY INTEREST AT REEL/FRAME NO. 46050/0546 Recorded Jul 30, 2026
From: BANK OF MONTREAL, AS AGENT
To: EXTREME NETWORKS, INC.
Reel/Frame 076081/0088 →
SECURITY INTEREST Recorded Jul 29, 2026
From: EXTREME NETWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 076078/0590 →
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
SECURITY INTEREST Recorded May 1, 2018
From: EXTREME NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 046050/0546 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
THIRD AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 044639/0300 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2016
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040521/0762 →
SECURITY AGREEMENT Recorded Jul 27, 2015
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 036189/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2008
From: KUMAR, DILIP; THIRUVENKATASAMY, KESAVAN
To: EXTREME NETWORKS, INC.
Reel/Frame 020929/0790 →
Continuity (1)
Continuation In Part 12059884 · Mar 31, 2008