IP Library Granted Patent US 8,331,373
Granted Patent B2
US 8,331,373 · App. 12/820,111 · Granted Dec 11, 2012

Methods, systems, and computer readable media for automatically selecting between internet protocol switching modes on a per-module basis in a packet forwarding device

Assignee: Extreme Networks, Inc.
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 8,331,373
App. No.
12/820,111
Granted
Dec 11, 2012
Kind
B2
Abstract

The subject mailer described herein includes methods, systems, and computer readable media for automatically selecting between Internet protocol switching modes on a per-module basis in a packet forwarding device. According to one aspect, a method may include determining capacities of hardware longest prefix matching (LPM) tables located on each input/output (I/O) module in a multi-module IP packet forward device. The number of routes currently stored in a software LPM table may be determined. If the software LPM table can be stored within the hardware LPM table for an I/O module, an LPM mode may be automatically selected for that I/O module. If the contents of software LPM table cannot be stored within the hardware LPM table for a particular I/O module, the I/O module may be automatically transitioned to operate in an Internet protocol forwarding database (IPFDB) mode.

Claims (52)

1. A method for automatically selecting a forwarding approach on a per-module basis, the method comprising:

operating an I/O module in a longest prefix matching (LPM) mode, wherein operating the I/O module in the LPM mode includes populating an Internet protocol forwarding database (IPFDB) with entries corresponding to active hosts, populating an LPM table with entries from an IP routing table with routes learned from IP routing protocols, and routing layer 3 packets received by the I/O module using the IPFDB and LPM table of the I/O module;

determining a capacity of the LPM table;

determining a total number of IP routes in the IP routing table;

determining a relationship between the total number of IP routes in the IP routing table and the capacity of the LPM table; and

in response to determining that the total number of IP routes in the IP routing table has a predetermined relationship with the capacity of the LPM table, automatically switching the I/O module from the LPM mode to an IPFDB mode, where the IPFDB and the LPM table are populated with entries corresponding to active hosts and routing layer 3 packets received by the I/O module using the IPFDB and the LPM table of the I/O module.

2. The method of claim 1 wherein the capacity of the LPM table includes a fixed, known quantity.

3. The method of claim 2 wherein determining the capacity of the LPM table includes determining one of a measure of the address space and a maximum number of routes supported by the LPM table.

4. The method of claim 2 wherein determining a relationship between the total number of IP routes and the capacity of the LPM table includes determining whether the number of IP routes is one of: less than a first threshold, exceeds the first threshold, or equal to the first threshold.

5. The method of claim 4 wherein the first threshold includes one of: a predetermined number of routes fewer than the capacity of the LPM table, a predetermined number of routes greater than the capacity of the LPM table, and equal to the capacity of the LPM table.

6. The method of claim 4 wherein the first threshold includes the number of IP routes that can be stored in the LPM table.

7. The method of claim 1 wherein the capacity of the LPM table includes an algorithm-determined quantity that depends on data stored in the LPM table.

8. The method of claim 7 comprising, in response to determining that the the total number of IP routes has a predetermined relationship with the capacity of the LPM table, generating a notification and, in response to the notification, automatically switching the I/O module from the LPM mode to the IPFDB mode.

9. The method of claim 7 wherein determining a relationship between the total number of IP routes and the capacity of the LPM table includes determining whether the number of IP routes is one of: less than a first threshold, exceeds the first threshold, or equal to the first threshold.

10. The method of claim 9 wherein the first threshold includes one of: a predetermined number of routes fewer than the capacity of the LPM table, a predetermined number of routes greater than the capacity of the LPM table, and equal to the capacity of the LPM table.

11. The method of claim 9 wherein the first threshold includes the number of IP routes that can be stored in the LPM table.

12. The method of claim 1 comprising:

determining whether the number of IP routes in the IP routing table is less than a second threshold; and

in response to determining that the number of IP routes in the IP routing table is less than the second threshold, switching from the IPFDB mode to the LPM mode.

13. The method of claim 12 further comprising:

determining whether the number of IP routes in the IP routing table is less than the second threshold for a predetermined period of time; and

in response to determining that the number of IP routes in the IP routing table is less than the second threshold for the predetermined period of time, switching from the IPFDB mode to the LPM mode.

14. The method of claim 1 wherein automatically switching from the LPM mode to the IPFDB mode includes deleting routes from the LPM table.

15. A packet forwarding device, the device comprising:

at least one input/output (I/O) module implemented by a processor and a memory, the I/O module comprising:

a longest prefix matching (LPM) table;

an Internet protocol forwarding database (IPFDB);

wherein the I/O module operates in an LPM mode, wherein operating the I/O module in the LPM mode includes populating the IPFDB with entries corresponding to active hosts, populating the LPM table with entries from an IP routing table learned from IP routing protocols, and routing layer 3 packets received by the I/O module using the IPFDB and the LPM table of the I/O module;

an automatic mode-selection module for:

determining a capacity of the LPM table;

determining a total number of IP routes in the IP routing table;

determining a relationship between the total number of IP routes in the IP routing table and the capacity of the LPM table; and

in response to determining that the total number of IP routes in the IP routing table has a predetermined relationship with the capacity of the LPM table, automatically switching the I/O module from the LPM mode to an IPFDB mode, where the IPFDB and the LPM table are populated with entries corresponding to active hosts and layer 3 packets received by the I/O module are routed using the IPFDB and LPM table of the I/O module.

16. The packet forwarding device of claim 15 wherein the capacity of the LPM table includes a fixed, known quantity.

17. The packet forwarding device of claim 16 wherein the automatic mode-selection module is configured to determine one of a measure of the address space and a maximum number of routes supported by the LPM table.

18. The packet forwarding device of claim 16 wherein the automatic mode-selection module is configured to determine whether the number of IP routes is one of: less than a first threshold, exceeds the first threshold, or equal to the first threshold.

19. The packet forwarding device of claim 18 wherein the first threshold includes one of: a predetermined number of routes fewer than the capacity of the LPM table, a predetermined number of routes greater than the capacity of the LPM table, and equal to the capacity of the LPM table.

20. The packet forwarding device of claim 18 wherein the first threshold includes the number of IP routes that can be stored in the LPM table.

21. The packet forwarding device of claim 15 wherein the capacity of the LPM table includes an algorithm-determined quantity that depends on data stored in the LPM table.

22. The packet forwarding device of claim 21 wherein the automatic mode-selection module is configured to generate, in response to determining that the total number of IP routes has a predetermined relationship with the capacity of the LPM table, a notification and, in response to the notification, automatically switch the I/O module from the LPM mode to the IPFDB mode.

23. The packet forwarding device of claim 21 wherein the automatic mode-selection module is configured to determine whether the number of IP routes is one of: less than a first threshold, exceeds the first threshold, or equal to the first threshold.

24. The packet forwarding device of claim 23 wherein the first threshold includes one of: a predetermined number of routes fewer than the capacity of the LPM table, a predetermined number of routes greater than the capacity of the LPM table, and equal to the capacity of the LPM table.

25. The packet forwarding device of claim 23 wherein the first threshold includes the number of IP routes that can be stored in the LPM table.

26. The packet forwarding device of claim 15 wherein the automatic mode-selection module determines whether the number of IP routes in the IP routing table is less than a second threshold and, in response to determining that the number of IP routes in the IP routing table is less than the second threshold, switches from the IPFDB mode to the LPM mode.

27. The packet forwarding device of claim 15 wherein the automatic mode-selection module determines whether the number of IP routes in the IP routing table is less than the second threshold for a predetermined period of time and, in response to determining that the number of IP routes in the IP routing table is less than the second threshold for the predetermined period of time, switching from the IPFDB mode to the LPM mode.

28. The packet forwarding device of claim 16 wherein the automatic mode-selection module deletes IP routes from the LPM table when operating the I/O module in the IPFDB mode.

29. A computer program product comprising computer-executable instructions embodied in a non-transitory computer-readable medium for performing steps comprising:

operating an I/O module in a longest prefix matching (LPM) mode, wherein operating the I/O module in the LPM mode includes populating an Internet protocol forwarding database (IPFDB) with entries corresponding to hosts, populating an LPM table with entries from an IP routing table with routes learned from IP routing protocols, and routing layer 3 packets received by the I/O module using the IPFDB and LPM table of the I/O module;

determining a capacity of the LPM table;

determining a total number of IP routes in the IP routing table;

determining a relationship between the total number of IP routes in the IP routing table and the capacity of the LPM table; and

in response to determining that the total number of IP routes in the IP routing table has a predetermined relationship with the capacity of the LPM table, automatically switching the I/O module from the LPM mode to an IPFDB mode, where the IPFDB and the LPM table are populated with entries corresponding to active hosts and routing layer 3 packets received by the I/O module using the IPFDB and the LPM table of the I/O module.

Assignments (10)
RELEASE OF PATENT AND TRADEMARK SECURITY INTEREST AT REEL/FRAME NO. 46050/0546 Recorded Jul 30, 2026
From: BANK OF MONTREAL, AS AGENT
To: EXTREME NETWORKS, INC.
Reel/Frame 076081/0088 →
SECURITY INTEREST Recorded Jul 29, 2026
From: EXTREME NETWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 076078/0590 →
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
SECURITY INTEREST Recorded May 1, 2018
From: EXTREME NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 046050/0546 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
THIRD AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 044639/0300 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2016
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040521/0762 →
SECURITY AGREEMENT Recorded Jul 27, 2015
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 036189/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2010
From: GROSSER, DONALD B.; ROVNER, EDWARD J.; STOKES, OLEN L.
To: EXTREME NETWORKS, INC.
Reel/Frame 024757/0365 →
Continuity (2)
Provisional Application 61340279 · Mar 15, 2010
Related Publication 20110222539A1 · Sep 15, 2011