CA2365395A1 - Default route coding - Google Patents

Default route coding Download PDF

Info

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
Application number
CA002365395A
Other languages
French (fr)
Other versions
CA2365395C (en
Inventor
David A. Brown
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chartoleaux KG LLC
Original Assignee
Mosaid Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mosaid Technologies Inc filed Critical Mosaid Technologies Inc
Publication of CA2365395A1 publication Critical patent/CA2365395A1/en
Application granted granted Critical
Publication of CA2365395C publication Critical patent/CA2365395C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address 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.
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.
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.
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.
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.
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.
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.
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.
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.
CA2365395A 2000-12-27 2001-12-17 Default route coding Expired - Lifetime CA2365395C (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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