# US 10,374,952 B2 · Method for increasing layer-3 longest prefix match scale

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,374,952 B2
- Document ID: US10374952B2
- Status: Granted
- Kind: B2
- Application number: 15/792,615
- Filed: 2017-10-24
- Published: 2018-02-15
- Granted: 2019-08-06
- Earliest claimed: 2013-11-05
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Ayan Banerjee; Sameer Merchant; Ramana Mellacheruvu; Ramesh V. N. Ponnapalli; Srinivasan Ramabadran
- Web page: https://patentgrep.com/patent/US10374952B2

## CPC

- H04L 45/16: Multipoint routing
- H04L 45/72: {Routing based on the source address}
- H04L 45/745: Address table lookup; Address filtering
- H04L 45/748: using longest matching prefix
- H04L 47/33: using forward notification
- H04L 51/10: Multimedia information
- H04W 28/12: using signalling between network elements
- H04W 72/30: Resource management for broadcast services
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Various embodiments are disclosed for increasing Layer-3 LPM (longest prefix match) routing database in a network platform. In some embodiments, chipsets in fabric modules (FMs) can be partitioned into multiple banks. Network traffic can be directed towards a corresponding bank in the FMs by using a LPM table on a line card (LC). Entries in the LPM table on the LC can be programmed either statically or dynamically based upon LPM routes that are dynamically learned.

## Claims

### Claim 1

A computer-implemented method, comprising:
partitioning each of two or more fabric modules (FMs) into two or more banks, wherein the partitioning comprises associating at least two chipsets for each of the two or more FMs into different banks selected from among the two or more banks;
programming two or more entries in a longest prefix match (LPM) table of a line card (LC);
programming the two or more banks in each of the two or more FMs based upon the two or more entries in the LPM table; and
routing a received Layer-3 packet to a particular bank in the LPM table of the LC.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
assigning a virtual module (VM) identifier to one of the two or more banks in one of the two or more FMs; and
assigning the VM identifier to a corresponding bank in another one of the two or more FMs.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, further comprising:
forwarding the Layer-3 packet among the two or more banks of the two or more FMs based at least upon assigned VM identifiers of the two or more banks in the two or more FMS.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising:
programming one of the two or more entries in the LPM table to point to even FMs of the two or more FMs, wherein the even FMs are programmed with even IP addresses; and
programming the other one of the two or more entries in the LPM table to point to odd FMs, wherein the odd FMs are programmed with odd IP addresses.

### Claim 5 (depends on 1)

The computer implemented method of claim 1, further comprising dynamically assigning two or more entries in the LPM table of the line card (LC) at least based upon routes that are dynamically learned at the LC.

### Claim 6 (depends on 5)

The computer implemented method of claim 5, further comprising increasing, based upon participation of the LC in virtual routing and forwarding (VRF) or virtual design and construction (VDC), a number of the routes using a selective download.

### Claim 7 (depends on 5)

The computer implemented method of claim 5, further comprising aggregating, in response to the routes at the LC becoming too granular to fit in the LPM table, aggregating the routes up by 1 bit-level.

### Claim 8

One or more non-transitory tangible computer readable media that includes code for execution and when executed by a processor operable to perform operations comprising:
partitioning each of two or more fabric modules (FMs) into two or more banks, wherein the partitioning comprises associating at least two chipsets for each of the two or more FMs into different banks selected from among the two or more banks;
programming two or more entries in a longest prefix match (LPM) table of a line card (LC);
programming the two or more banks in each of the two or more FMs based upon the two or more entries in the LPM table; and
routing a received Layer-3 packet to a particular bank in the LPM table of the LC.

### Claim 9 (depends on 8)

The media of claim 8, the operations further comprising:
assigning a virtual module (VM) identifier to one of the two or more banks in one of the two or more FMs; and
assigning the VM identifier to a corresponding bank in another one of the two or more FMs.

### Claim 10 (depends on 9)

The media of claim 9, the operations further comprising:
forwarding the Layer-3 packet among the two or more banks of the two or more FMs based at least upon assigned VM identifiers of the two or more banks in the two or more FMS.

### Claim 11 (depends on 8)

The media of claim 8, the operations further comprising:
programming one of the two or more entries in the LPM table to point to even FMs of the two or more FMs, wherein the even FMs are programmed with even IP addresses; and
programming the other one of the two or more entries in the LPM table to point to odd FMs, wherein the odd FMs are programmed with odd IP addresses.

### Claim 12 (depends on 8)

The media of claim 8, the operations further comprising dynamically assigning two or more entries in the LPM table of the line card (LC) at least based upon routes that are dynamically learned at the LC.

### Claim 13 (depends on 12)

The media of claim 12, the operations increasing, based upon participation of the LC in virtual routing and forwarding (VRF) or virtual design and construction (VDC), a number of the routes using a selective download.

### Claim 14 (depends on 12)

The media of claim 12, the operations further comprising aggregating, in response to the routes at the LC becoming too granular to fit in the LPM table, aggregating the routes up by 1 bit-level.

### Claim 15

An apparatus, comprising:
a memory element configured to store data,
a processor operable to execute instructions associated with the data to perform operations comprising:
partitioning each of two or more fabric modules (FMs) into two or more banks, wherein the partitioning comprises associating at least two chipsets for each of the two or more FMs into different banks selected from among the two or more banks;
programming two or more entries in a longest prefix match (LPM) table of a line card (LC);
programming the two or more banks in each of the two or more FMs based upon the two or more entries in the LPM table; and
routing a received Layer-3 packet to a particular bank in the LPM table of the LC.

### Claim 16 (depends on 15)

The apparatus of claim 15, the operations further comprising:
assigning a virtual module (VM) identifier to one of the two or more banks in one of the two or more FMs; and
assigning the VM identifier to a corresponding bank in another one of the two or more FMs.

### Claim 17 (depends on 16)

The apparatus of claim 16, the operations further comprising:
forwarding the Layer-3 packet among the two or more banks of the two or more FMs based at least upon assigned VM identifiers of the two or more banks in the two or more FMS.

### Claim 18 (depends on 16)

The apparatus of claim 16, the operations further comprising:
programming one of the two or more entries in the LPM table to point to even FMs of the two or more FMs, wherein the even FMs are programmed with even IP addresses; and
programming the other one of the two or more entries in the LPM table to point to odd FMs, wherein the odd FMs are programmed with odd IP addresses.

### Claim 19 (depends on 16)

The apparatus of claim 16, the operations further comprising dynamically assigning two or more entries in the LPM table of the line card (LC) at least based upon routes that are dynamically learned at the LC.

### Claim 20 (depends on 19)

The apparatus of claim 19, the operations increasing, based upon participation of the LC in virtual routing and forwarding (VRF) or virtual design and construction (VDC), a number of the routes using a selective download.
