Nova Patents
US6212183B1

Multiple parallel packet routing lookup

Summary by NHIP

Parallel Packet Routing Lookup

The method determines a packet treatment identifier from header information to access a memory containing routing entries differentiated by length fields. The system prioritizes common 24-bit or 21-bit IP addresses while using lookup flags to identify uncommon 32-bit matches, and a memory controller pipelines requests to a hash table memory.

Claim Score by NHIP

Read claim 1, the broadest

Abstract

The invention provides a method and system for routing information lookup for packets using a routing protocol such as IP. Routing information which has been determined responsive to the packet header, which includes a destination address, a source address, and an input interface for the packet. Routing lookup is performed in response to at least one set of selected routing information, using a lookup table which includes tags both for the routing information and for a bitmask length (thus indicating the generality or scope of the routing information for the routing lookup). The lookup table is structured so that addresses having the most common bitmask length are addressed first, but that more specific addresses are still considered when they are present. It has been discovered that most internet addresses can be found by reference to 24-bit or 21-bit IP addresses, after which 16-bit, 12-bit, and finally 32-bit IP addresses are considered. Lookup flags indicate when a relatively uncommon but more specific 32-bit IP address match is available. A memory controller pipelines the lookup requests to a hash table memory, flushes superfluous requests when a lookup result is found, and handles cases relating to 32-bit IP address matches.

US6212183B1, drawing sheet 1
Sheet 1 of 4

Term

Term ended

Expired 22 August 2017, 9.1 years ago.

  1. Priority and filed
  2. Granted
  3. Expired
  4. Today

4 claims: 1 independent, 3 dependent

  1. 1
    Broadest claimClaim Score 66, broad(NHIP)A method, including the steps of receiving a packet header, said packet header including header information;determining a packet treatment identifier responsive to said header information, said packet treatment identifier including a destination address;and using said packet treatment identifier to access a memory having information regarding treatment of packets, said information being responsive to a length field for said header information, said memory including a plurality of entries matching said header information and differing with regard to said length field, said entries associated with packet routing information, and wherein said length field indicates a longest match for said destination address included in said header information.