CA2365395A1 - Default route coding - Google Patents
Default route coding Download PDFInfo
- Publication number
- CA2365395A1 CA2365395A1 CA002365395A CA2365395A CA2365395A1 CA 2365395 A1 CA2365395 A1 CA 2365395A1 CA 002365395 A CA002365395 A CA 002365395A CA 2365395 A CA2365395 A CA 2365395A CA 2365395 A1 CA2365395 A1 CA 2365395A1
- Authority
- CA
- Canada
- Prior art keywords
- subtree
- default route
- default
- lookup table
- sparse
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Complex Calculations (AREA)
Abstract
A multi-level lookup table includes a plurality of search levels with each search level including a plurality of subtrees, each subtree representing a plurality of nodes. A search of the multi-level lookup table for an entry corresponding to a search key results in a value stored in an entry associated with the node in a subtree. A default value is associated with the root of the subtree. Multiple entries for the subtree can store the default value. To minimize route update time, the default value associated with the subtree is stored in a single location. Instead of storing the default value in multiple entries, each entry stores a use default indicator to indicate that the default value stored in the single location is to be used. To further reduce the number of locations to modify to update the default route, the single location can store an inherit indicator to indicate that the default value for the subtree is inherited from another subtree.
Claims (26)
1. A method for updating a multi-level lookup table comprising the steps of:
providing a default route memory for storing a default route for a subtree;
sharing the default route by nodes in the subtree; and modifying the default route by performing a single write to the default route memory.
providing a default route memory for storing a default route for a subtree;
sharing the default route by nodes in the subtree; and modifying the default route by performing a single write to the default route memory.
2. The method as claimed in Claim 1 wherein the default route memory stores a route corresponding to the route associated with the root of the subtree.
3. The method as claimed in Claim 1 wherein the default route memory stores an inherit indicator to indicate that the default route corresponding to the route associated with the root of the subtree is inherited from another subtree.
4. The method as claimed in Claim 3 wherein the inherited default route is forwarded by a default index pipeline.
5. The method as claimed in Claim 1 wherein the subtree is a dense subtree and a dense subtree descriptor associated with the subtree includes the default route memory.
6. The method as claimed in Claim 5 wherein the default route is shared by storing a use default indicator in a mapper entry associated with at least one node in the subtree.
7. The method as claimed in Claim 6 further comprising the step of:
returning the default route as a result of a search of the lookup table upon detecting the use default indicator stored in the mapper entry.
returning the default route as a result of a search of the lookup table upon detecting the use default indicator stored in the mapper entry.
8. The method as claimed in Claim 1 wherein the subtree is a sparse subtree, the number of routes in the sparse subtree is greater than one and a sparse subtree entry associated with the subtree includes the default route memory.
9. The method as claimed in Claim 1 wherein the subtree is a sparse subtree, the number of routes in the sparse subtree is one, and a default route memory associated with the sparse subtree stores the default route.
10. A multi-level lookup table comprising:
a default route memory which stores a default route shared by nodes in a subtree; and default logic which returns the default route as a result of a search of the lookup table.
a default route memory which stores a default route shared by nodes in a subtree; and default logic which returns the default route as a result of a search of the lookup table.
11. The multi-level lookup table as claimed in Claim 10 wherein the default route memory stores a default route for the route corresponding to the root of the subtree.
12. The multi-level lookup table as claimed in Claim 10 wherein the default route memory stores an inherit indicator to indicate that the route corresponding to the root of the subtree is inherited from another subtree.
13. The multi-level lookup table as claimed in Claim 12 further comprising:
a default index pipeline which forwards the inherited default route.
a default index pipeline which forwards the inherited default route.
14. The multi-level lookup table as claimed in Claim 10 wherein the subtree is a dense subtree and a dense subtree entry associated with the subtree includes the default route memory.
15. The multi-level lookup table as claimed in Claim 14 further comprising:
a mapper entry associated with at least one node in the subtree, the mapper entry stores a use default indicator which indicates that the default route stored in the default route memory is the default route for the at least one node, the default route is modified by performing a single write to the default route memory.
a mapper entry associated with at least one node in the subtree, the mapper entry stores a use default indicator which indicates that the default route stored in the default route memory is the default route for the at least one node, the default route is modified by performing a single write to the default route memory.
16. The multi-level lookup table as claimed in Claim 15 wherein the default logic returns the default route upon detecting the use default indicator stored in the mapper entry.
17. The multi-level lookup table as claimed in Claim 10 wherein the subtree is a sparse subtree number of routes in the sparse subtree is greater than one and a sparse subtree entry associated with the subtree includes the default route memory.
18. The multi-level lookup table as claimed in Claim 10 wherein the subtree is a sparse subtree, the number of routes in the sparse subtree is one, and the default route memory is stored in a default mapper entry associated with the sparse subtree descriptor.
19. A multi-level lookup table comprising:
a default route memory which stores a default route for nodes in a subtree; and means for returning the default route as a result of a search of the lookup table upon detecting the use default indicator stored in the mapper entry.
a default route memory which stores a default route for nodes in a subtree; and means for returning the default route as a result of a search of the lookup table upon detecting the use default indicator stored in the mapper entry.
20. The lookup table as claimed in Claim 19 wherein the default route memory stores a default route associated with the root of the subtree.
21. The lookup table as claimed in Claim 19 wherein the default route memory stores an inherit indicator to indicate that the default route associated with the root of the subtree is inherited from another subtree.
22. The lookup table as claimed in Claim 21 further comprising:
means for forwarding the inherited default index.
means for forwarding the inherited default index.
23. The lookup table as claimed in Claim 19 wherein the subtree is a dense subtree and a dense subtree descriptor associated with the subtree includes the default route memory.
24. The lookup table as Claimed in Claim 19 further comprising:
means for sharing the default route amongst nodes in the subtree by storing a use default indicator in a mapper entry associated with at least one node in the subtree and modifying the default route by performing a single write to the default route memory.
means for sharing the default route amongst nodes in the subtree by storing a use default indicator in a mapper entry associated with at least one node in the subtree and modifying the default route by performing a single write to the default route memory.
25. The lookup table as claimed in Claim 19 wherein the subtree is a sparse subtree the number of routes in the sparse subtree is greater than one and a sparse subtree descriptor associated with the sparse subtree includes the default route memory.
26. The lookup table as claimed in Claim 19 wherein the subtree is a sparse subtree, the number of routes in the sparse subtree is one, and the default route memory is stored in a default mapper entry associated with the sparse subtree descriptor.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US25843600P | 2000-12-27 | 2000-12-27 | |
US60/258,436 | 2000-12-27 | ||
US29438701P | 2001-05-30 | 2001-05-30 | |
US60/294,387 | 2001-05-30 | ||
US10/004,280 | 2001-10-31 | ||
US10/004,280 US7106732B2 (en) | 2000-12-27 | 2001-10-31 | Default route coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2365395A1 true CA2365395A1 (en) | 2002-06-27 |
CA2365395C CA2365395C (en) | 2011-04-12 |
Family
ID=46330348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2365395A Expired - Lifetime CA2365395C (en) | 2000-12-27 | 2001-12-17 | Default route coding |
Country Status (2)
Country | Link |
---|---|
US (2) | US7106732B2 (en) |
CA (1) | CA2365395C (en) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1250778A2 (en) * | 1999-12-10 | 2002-10-23 | Mosaid Technologies Incorporated | Method and apparatus for longest match address lookup |
US7966421B2 (en) * | 2000-06-21 | 2011-06-21 | SAtech Group, A.B. Limited Liability Company | Method and apparatus for logically expanding the length of a search key |
US7899067B2 (en) * | 2002-05-31 | 2011-03-01 | Cisco Technology, Inc. | Method and apparatus for generating and using enhanced tree bitmap data structures in determining a longest prefix match |
US7433304B1 (en) * | 2002-09-06 | 2008-10-07 | Packeteer, Inc. | Classification data structure enabling multi-dimensional network traffic classification and control schemes |
US7493412B2 (en) * | 2002-09-12 | 2009-02-17 | International Business Machines Corporation | Method for processing a data packet |
US7346009B2 (en) | 2002-09-30 | 2008-03-18 | Mosaid Technologies, Inc. | Dense mode coding scheme |
US7114064B2 (en) * | 2002-11-14 | 2006-09-26 | Hewlett-Packard Development Company, L.P. | System and method for accessing an advanced configuration and power interface (ACPI) namespace nodal tree |
US7325239B2 (en) * | 2003-11-12 | 2008-01-29 | International Business Machines Corporation | Method and system of generically managing tables for network processors |
US7551609B2 (en) * | 2005-10-21 | 2009-06-23 | Cisco Technology, Inc. | Data structure for storing and accessing multiple independent sets of forwarding information |
US8255496B2 (en) | 2008-12-30 | 2012-08-28 | Juniper Networks, Inc. | Method and apparatus for determining a network topology during network provisioning |
WO2011014118A1 (en) | 2009-07-28 | 2011-02-03 | Oricane Ab | Method for managing multi-layered data structures in a pipelined memory architecture |
US8891406B1 (en) | 2010-12-22 | 2014-11-18 | Juniper Networks, Inc. | Methods and apparatus for tunnel management within a data center |
US8615015B1 (en) * | 2010-12-30 | 2013-12-24 | Juniper Networks, Inc. | Apparatus, systems and methods for aggregate routes within a communications network |
US10003494B2 (en) | 2013-09-17 | 2018-06-19 | Cisco Technology, Inc. | Per-prefix LFA FRR with bit indexed explicit replication |
US11451474B2 (en) | 2013-09-17 | 2022-09-20 | Cisco Technology, Inc. | Equal cost multi-path with bit indexed explicit replication |
US9806897B2 (en) | 2013-09-17 | 2017-10-31 | Cisco Technology, Inc. | Bit indexed explicit replication forwarding optimization |
US10218524B2 (en) | 2013-09-17 | 2019-02-26 | Cisco Technology, Inc. | Bit indexed explicit replication for layer 2 networking |
US9942053B2 (en) | 2013-09-17 | 2018-04-10 | Cisco Technology, Inc. | Bit indexed explicit replication using internet protocol version 6 |
US9906378B2 (en) | 2015-01-27 | 2018-02-27 | Cisco Technology, Inc. | Capability aware routing |
US10341221B2 (en) | 2015-02-26 | 2019-07-02 | Cisco Technology, Inc. | Traffic engineering for bit indexed explicit replication |
US10630743B2 (en) | 2016-09-23 | 2020-04-21 | Cisco Technology, Inc. | Unicast media replication fabric using bit indexed explicit replication |
US10637675B2 (en) | 2016-11-09 | 2020-04-28 | Cisco Technology, Inc. | Area-specific broadcasting using bit indexed explicit replication |
US10447496B2 (en) | 2017-03-30 | 2019-10-15 | Cisco Technology, Inc. | Multicast traffic steering using tree identity in bit indexed explicit replication (BIER) |
US10164794B2 (en) | 2017-04-28 | 2018-12-25 | Cisco Technology, Inc. | Bridging of non-capable subnetworks in bit indexed explicit replication |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5261088A (en) | 1990-04-26 | 1993-11-09 | International Business Machines Corporation | Managing locality in space reuse in a shadow written B-tree via interior node free space list |
US5359724A (en) | 1992-03-30 | 1994-10-25 | Arbor Software Corporation | Method and apparatus for storing and retrieving multi-dimensional data in computer memory |
US5329618A (en) | 1992-04-02 | 1994-07-12 | Fibronics Ltd. | Look-up table for a bridge in a data communications system |
US5323389A (en) | 1992-08-14 | 1994-06-21 | Fore Systems, Inc. | ATM cell interface and method for dispatching an ATM cell |
US5386413A (en) | 1993-03-19 | 1995-01-31 | Bell Communications Research, Inc. | Fast multilevel hierarchical routing table lookup using content addressable memory |
US5699276A (en) | 1995-12-15 | 1997-12-16 | Roos; Charles E. | Utility meter providing an interface between a digital network and home electronics |
US5857196A (en) | 1996-07-19 | 1999-01-05 | Bay Networks, Inc. | Method for storing a tree of potential keys in a sparse table |
US5946679A (en) * | 1997-07-31 | 1999-08-31 | Torrent Networking Technologies, Corp. | System and method for locating a route in a route table using hashing and compressed radix tree searching |
US6553002B1 (en) * | 1997-08-29 | 2003-04-22 | Ascend Communications, Inc. | Apparatus and method for routing data packets through a communications network |
US6266706B1 (en) | 1997-09-15 | 2001-07-24 | Effnet Group Ab | Fast routing lookup system using complete prefix tree, bit vector, and pointers in a routing table for determining where to route IP datagrams |
US6434144B1 (en) * | 1998-07-06 | 2002-08-13 | Aleksey Romanov | Multi-level table lookup |
US6385649B1 (en) * | 1998-11-06 | 2002-05-07 | Microsoft Corporation | Routers and methods for optimal routing table compression |
US6192051B1 (en) * | 1999-02-26 | 2001-02-20 | Redstone Communications, Inc. | Network router search engine using compressed tree forwarding table |
US6490592B1 (en) * | 1999-12-30 | 2002-12-03 | Nortel Networks Limited | Method of and apparatus for generating a tree data structure supporting longest match lookup |
US6956858B2 (en) * | 2000-06-30 | 2005-10-18 | Mayan Networks Corporation | Network routing table and packet routing method |
-
2001
- 2001-10-31 US US10/004,280 patent/US7106732B2/en not_active Expired - Lifetime
- 2001-12-17 CA CA2365395A patent/CA2365395C/en not_active Expired - Lifetime
-
2006
- 2006-08-10 US US11/502,587 patent/US7715385B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20070115968A1 (en) | 2007-05-24 |
US7715385B2 (en) | 2010-05-11 |
US20020091856A1 (en) | 2002-07-11 |
US7106732B2 (en) | 2006-09-12 |
CA2365395C (en) | 2011-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2365395A1 (en) | Default route coding | |
JP5529976B2 (en) | Systolic array architecture for high-speed IP lookup | |
US8325721B2 (en) | Method for selecting hash function, method for storing and searching routing table and devices thereof | |
US7433871B2 (en) | Efficient ipv4/ipv6 best matching prefix method and apparatus | |
US7774538B2 (en) | Method for ternary contents address memory table management | |
CA2393760A1 (en) | Method and apparatus for longest match address lookup | |
FI982095A (en) | Method of implementing memory and memory arrangement | |
US20050141519A1 (en) | Apparatus and method using hashing for efficiently implementing an IP lookup solution in hardware | |
CN105141525B (en) | IPv6 method for searching route and device | |
KR100586461B1 (en) | Method, Hardware Architecture and Recording Medium for Searching IP Address by Using Pipeline Binary Tree | |
KR101434065B1 (en) | Method and device for improving scalabilty of longest prefix match | |
JP5960863B1 (en) | SEARCH DEVICE, SEARCH METHOD, PROGRAM, AND RECORDING MEDIUM | |
KR20020059238A (en) | Node Structuring Method for multiway search tree, and Searching Method by using it | |
CN106330716B (en) | IP route searching method and device | |
CN108134739A (en) | A kind of method for searching route and device based on index trie | |
US6917954B2 (en) | Load balancing in IP address lookup | |
GB2377286A (en) | Node Insertion in a Binary Search Tree System | |
CN110995876B (en) | Method and device for storing and searching IP | |
CN102984071B (en) | Method for organizing routing table of segment address route and method for checking route | |
Erdem et al. | Value-coded trie structure for high-performance IPv6 lookup | |
CN111131015A (en) | Method for dynamically updating route based on PC-Trie | |
JP6205463B2 (en) | SEARCH DEVICE, SEARCH METHOD, PROGRAM, AND RECORDING MEDIUM | |
SE521907C2 (en) | Method and system for fast IP route search to determine where an IP datagram with a given destination address should be forwarded | |
Jiang et al. | Multi-way pipelining for power-efficient ip lookup | |
CN117668306A (en) | Data structure of priority dictionary tree and longest prefix matching method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20211217 |