IP Library Granted Patent US 8,174,980
Granted Patent B2
US 8,174,980 · App. 12/100,498 · Granted May 8, 2012

Methods, systems, and computer readable media for dynamically rate limiting slowpath processing of exception packets

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,174,980
App. No.
12/100,498
Granted
May 8, 2012
Kind
B2
Abstract

The subject matter described herein includes methods and systems for dynamically rate limiting slowpath processing of exception packets. According to one embodiment, a method includes monitoring processing resources in a packet forwarding device used for performing slowpath processing of exception packets at the packet forwarding device. It is determined whether usage of the processing resources used for slowpath processing exceeds a first threshold and, in response to determining that the processing resources exceed the first threshold, rate limiting the slowpath processing of the exception packets.

Claims (36)

1. A method for dynamically rate limiting slowpath processing of exception packets in a packet forwarding device, the method comprising:

monitoring processing resources in a packet forwarding device used for performing slowpath processing of exception packets, wherein performing slowpath processing of exception packets includes performing, by a central processing unit (CPU), packet forwarding lookups in a software-implemented forwarding database for packets for which the packet forwarding device lacks hardware-programmed forwarding;

determining whether, in the packet forwarding device, usage of the processing resources for slowpath processing exceeds a first threshold, wherein the first threshold is defined to be sufficiently large so as to not be exceeded when the monitored processing resources are under normal load conditions, and wherein determining that usage of the monitored processing resources exceeds the first threshold indicates that the monitored processing resources have exceeded normal load conditions;

in response to determining that usage of the processing resources exceeds the first threshold, rate limiting the slowpath processing of the exception packets, wherein rate limiting the slowpath processing of the exception packets includes rate limiting the processing on a per packet classification basis;

determining whether, in the packet forwarding device, usage of the processing resources for slowpath processing is less than a second threshold, wherein the second threshold is defined to be sufficiently smaller than the first threshold so as to allow for hysteresis in recovery of the monitored processing resources; and

in response to determining that usage of the processing resources is less than the second threshold, ceasing the rate limiting of the exception packets.

2. The method of claim 1 wherein monitoring the processing resources includes monitoring at least one of a work queue in the packet forwarding device and processor utilization of at least one processor in the packet forwarding device used for slowpath processing of exception packets.

3. The method of claim 1 wherein rate limiting the slowpath processing of the exception packets includes rate limiting the exception packets using a token bucket.

4. The method of claim 1 wherein rate limiting the slowpath processing of the exception packets includes rate limiting the exception packets by limiting the number of packets delivered to upper layer software processing.

5. The method of claim 1 wherein rate limiting the slowpath processing of the exception packets includes rate limiting the exception packets using at least one of rate shaping and policing.

6. The method of claim 1 wherein the first threshold is determined statically based on a user inputted value.

7. The method of claim 1 wherein the first threshold is determined dynamically based on a processing capacity of the packet forwarding device.

8. The method of claim 1 wherein the slowpath processing of the exception packets includes processing the packets using a central processing unit and associated software.

9. A packet forwarding device for dynamically rate limiting slowpath processing of exception packets, the packet forwarding device comprising:

at least one processor for processing exception packets, the at least one processor being associated with processing resources used for slowpath forwarding of the exception packets, wherein the at least one processor performs packet forwarding lookups in a software-implemented forwarding database for packets for which the packet forwarding device lacks hardware-programmed forwarding; and

a dynamic rate limiting module for:

monitoring the processing resources used for performing slowpath processing of exception packets by the at least one processor;

determining whether usage of the processing resources used for slowpath processing exceeds a first threshold, wherein the first threshold is defined to be sufficiently large so as to not be exceeded when the monitored processing resources are under normal load conditions, and wherein determining that usage of the monitored processing resources exceeds the first threshold indicates that the monitored processing resources have exceeded normal load conditions;

in response to determining that usage of the processing resources exceeds the first threshold, rate limiting the slowpath processing of the exception packets, wherein rate limiting the slowpath processing of the exception packets includes rate limiting the processing on a per packet classification basis;

determining whether usage of the processing resources used for slowpath forwarding is less than a second threshold, wherein the second threshold is defined to be sufficiently smaller than the first threshold so as to allow for hysteresis in recovery of the monitored processing resources; and

in response to determining that the usage of the processing resources is less than the second threshold, ceasing the rate limiting of the exception packets.

10. The packet forwarding device of claim 9 wherein the dynamic rate limiting module is configured to monitor one of at least one work queue and utilization of the at least one processor in determining whether usage of the processing resources exceeds the first threshold.

11. The packet forwarding device of claim 9 wherein the dynamic rate limiting module is configured to rate limit the slowpath processing of the exception packets using a token bucket.

12. The packet forwarding device of claim 9 wherein the dynamic rate limiting module is configured to rate limit the slowpath processing of the exception packets by limiting the number of packets delivered to upper layer software processing.

13. The packet forwarding device of claim 9 wherein the dynamic rate limiting module is configured to rate limit the slowpath processing of the exception packets using at least one of rate shaping and policing.

14. The packet forwarding device of claim 9 wherein the dynamic rate limiting module is configured to receive the first threshold from a user and maintain the first threshold statically.

15. The packet forwarding device of claim 9 wherein the dynamic rate limiting module is configured to dynamically determine the first threshold based on the processing capacity of the at least one processor.

16. The packet forwarding device of claim 9 wherein the dynamic rate limiting module is configured to slowpath process the exception packets using a central processing unit and associated software.

17. A non-transitory computer readable medium containing a computer program including computer executable instructions that when executed by a processor of a computer perform steps comprising:

monitoring processing resources used in a packet forwarding device for performing slowpath processing of exception packets, wherein performing slowpath processing of exception packets includes performing, by a central processing unit (CPU), packet forwarding lookups in a software-implemented forwarding database for packets for which the packet forwarding device lacks hardware-programmed forwarding;

determining whether, in the packet forwarding device, usage of the processing resources for slowpath processing exceeds a first threshold, wherein the first threshold is defined to be sufficiently large so as to not be exceeded when the monitored processing resources are under normal load conditions, and wherein determining that usage of the monitored processing resources exceeds the first threshold indicates that the monitored processing resources have exceeded normal load conditions;

in response to determining that the processing resources exceed the first threshold, rate limiting the slowpath processing of the exception packets, wherein rate limiting the slowpath processing of the exception packets includes rate limiting the processing on a per packet classification basis;

determining whether, in the packet forwarding device, usage of the processing resources for slowpath processing is less than a second threshold, wherein the second threshold is defined to be sufficiently smaller than the first threshold so as to allow for hysteresis in recovery of the monitored processing resources; and

in response to determining that usage of the processing resources is less than the second threshold, ceasing the rate limiting of the exception packets.

18. The non-transitory computer readable medium of claim 17 wherein the slowpath processing of the exception packets includes processing the packets using a central processing unit and associated software.

19. The non-transitory computer readable medium of claim 17 wherein rate limiting the slowpath processing of the exception packets includes rate limiting the processing on a per packet classification basis.

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 Apr 11, 2008
From: FORD, JEFFREY A.; GROSSER, DONALD B.
To: EXTREME NETWORKS, INC.
Reel/Frame 020797/0076 →
Continuity (2)
Provisional Application 61066145 · Mar 28, 2008
Related Publication 20100254264A1 · Oct 7, 2010