IP Library Granted Patent US 9,331,942
Granted Patent B2
US 9,331,942 · App. 14/194,567 · Granted May 3, 2016

Apparatus and method for processing alternately configured longest prefix match tables

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 9,331,942
App. No.
14/194,567
Granted
May 3, 2016
Kind
B2
Abstract

A network switch includes a memory configurable to store alternate table representations of an individual trie in a hierarchy of tries. A prefix table processor accesses in parallel, using an input network address, the alternate table representations of the individual trie and searches for a longest prefix match in each alternate table representation to obtain local prefix matches. The longest prefix match from the local prefix matches is selected. The longest prefix match has an associated next hop index base address and offset value. A next hop index processor accesses a next hop index table in the memory utilizing the next hop index base address and offset value to obtain a next hop table pointer. A next hop processor accesses a next hop table in the memory using the next hop table pointer to obtain a destination network address.

Claims (20)

1. A network switch, comprising:

a memory configurable to store alternate table representations of an individual trie in a hierarchy of tries, wherein the alternate table representations are optimized for different longest prefix match search strategies and memory optimization strategies;

a hardware prefix table processor to

access in parallel, using an input network address, the alternate table representations of the individual trie and search for a longest prefix match in each alternate table representation to obtain local prefix matches,

select the longest prefix match from the local prefix matches, wherein the longest prefix match has an associated next hop index base address and offset value;

a next hop index processor to access a next hop index table in the memory utilizing the next hop index base address and offset value to obtain a next hop table pointer; and

a next bop processor to access a next hop table in the memory using the next hop table pointer to obtain a destination network address.

2. The network switch of claim 1 wherein the alternate table representations include a sparse mode representation that identifies selected trie nodes.

3. The network switch of claim 2 wherein the sparse mode representation includes a branch identification and a stride value.

4. The network switch of claim 1 wherein the alternate table representations include a bit map mode representation with a bit map that identifies selected trie nodes.

5. The network switch of claim 4 wherein the bit map mode representation includes a branch identification and a stride value.

6. The network switch of claim l wherein the alternate table representations include a leaf-push representation that identifies selected trie nodes at the bottom of a trie.

7. The network switch of claim 6 wherein the leaf-push representation includes branch identification and a stride value.

8. The network switch of claim 1 wherein the prefix table processor is a hardware resource with a deterministic look-up latency.

9. The network switch of claim 1 wherein the alternate table representations include tables with different packet types in the same table.

10. The network switch of claim 9 wherein the different packet types includes IPV4 packets and IPV6 packets.

11. The network switch of claim 1 wherein the prefix table processor identifies a longest prefix match for a remote host and an exact match for a directly attached host.

12. The network switch of claim 11 wherein the prefix table processor identifies the longest prefix match for the remote host and the exact match for the directly attached host in the same table.

13. The network switch of claim 1 wherein the next hop index processor processes a block of next hop table entries to facilitate equal-cost multi-path routing.

14. The network switch of claim 13 wherein the block specifies up to 1024 paths.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Jan 11, 2019
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 049367/0717 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
SECURITY AGREEMENT Recorded Aug 17, 2016
From: CAVIUM, INC.; CAVIUM NETWORKS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 039715/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2016
From: CAVIUM NETWORKS LLC
To: CAVIUM, INC.
Reel/Frame 039425/0520 →
MERGER Recorded Aug 12, 2016
From: XPLIANT, INC.
To: CAVIUM NETWORKS LLC
Reel/Frame 039425/0437 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2014
From: WANG, WEIHUANG; BALAN, MOHAN; SIVA, NIMALAN; SHAH, ZUBIN
To: XPLIANT, INC.
Reel/Frame 032329/0751 →