IP Library Granted Patent US 8,693,335
Granted Patent B2
US 8,693,335 · App. 13/426,927 · Granted Apr 8, 2014

Method and apparatus for control plane CPU overload protection

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,693,335
App. No.
13/426,927
Granted
Apr 8, 2014
Kind
B2
Abstract

Control packets received at a network element are pre-classified to enable out of profile traffic to be traced to an offending port. Pre-classified control packets are metered at a desired granularity using dynamically configured meters which adjust as ports are put into service or removed from service, and as services are applied to ports. CPU metering is implemented on a per-CPU core basis, but the per-CPU meters are used to perform flow control rather than as thresholds for ejecting errant control traffic. The combination of these three aspects provides robust CPU overload protection while allowing appropriate levels of control traffic to be provided to the control plane for processing, even in the event of a control traffic burst on one or more ports of the network element.

Claims (43)

1. A non-transitory tangible computer readable storage medium having stored thereon a computer program for implementing control plane CPU overload protection, the computer program comprising a set of instructions which, when executed by a computer, cause the computer to perform a method comprising the steps of:

pre-classifying control packets in a data plane of a network element;

metering the pre-classified control packets using dynamically configured meters, the dynamically configured meters having rates based on a number and type of service enabled on ports of the network element; and

metering control packets which pass the dynamically configured meters using per CPU core meters to implement flow control;

wherein the dynamically configured meters enable rate limits to be dynamically adjusted based on a number of active ports on the network element.

2. The non-transitory tangible computer readable storage medium of claim 1 , wherein pre-classifying control packets comprises identifying input port and control protocol for the control packets.

3. The non-transitory tangible computer readable storage medium of claim 2 , wherein the step of pre-classifying control packets results in control packets classified according to input port and protocol, and wherein the step of metering the pre-classified control packets using dynamically configured meters is implemented using individual meters configured to meter control packets on a per input port per protocol basis.

4. The non-transitory tangible computer readable storage medium of claim 2 , wherein the step of pre-classifying control packets results in control packets classified according to input port and protocol, and wherein the step of metering the pre-classified control packets using dynamically configured meters is implemented using collective meters configured to meter control packets from multiple ports per protocol.

5. The non-transitory tangible computer readable storage medium of claim 2 , wherein the step of pre-classifying control packets results in control packets classified according to input port and protocol, and wherein the step of metering the pre-classified control packets using dynamically configured meters is implemented using collective meters configured to meter control packets from one port which are associated with two or more protocols.

6. The non-transitory tangible computer readable storage medium of claim 1 , further comprising the step of assigning pre-classified packets to the meters based on the result of the step of preclassifying the packets.

7. The non-transitory tangible computer readable storage medium of claim 1 , further comprising the step of selecting individual dynamically configured meters for the control packets based on the step of pre-classifying the control packets.

8. The non-transitory tangible computer readable storage medium of claim 1 , wherein the dynamically configured meters meter control packets on a per input port per protocol basis.

9. A non-transitory tangible computer readable storage medium having stored thereon a computer program for implementing control plane CPU overload protection, the computer program comprising a set of instructions which, when executed by a computer, cause the computer to perform a method comprising the steps of:

re-classifying control packets in a data plane of a network element;

metering the pre-classified control packets using dynamically configured meters, the dynamically configured meters having rates based on a number and type of service enabled on ports of the network element; and

metering control packets which pass the dynamically configured meters using per CPU core meters to implement flow control;

wherein the dynamically configured meters meter control packets on a per input port per protocol basis; and

wherein if a control packet is received and a meter does not exist for control packets from the input port and protocol associated with the control packet, then the control packet will be dropped.

10. The non-transitory tangible computer readable storage medium of claim 8 , wherein the dynamically configured meters meter control packets on a per interface per protocol bases.

11. The non-transitory tangible computer readable storage medium of claim 1 , wherein if a control packet is received and a selected meter for the packet indicates that the packet is out-of-profile, the control packet will be dropped.

12. A non-transitory tangible computer readable storage medium having stored thereon a computer program for implementing control plane CPU overload protection, the computer program comprising a set of instructions which, when executed by a computer, cause the computer to perform a method comprising the steps of:

re-classifying control packets in a data plane of a network element;

metering the pre-classified control packets using dynamically configured meters, the dynamically configured meters having rates based on a number and type of service enabled on ports of the network element; and

metering control packets which pass the dynamically configured meters using per CPU core meters to implement flow control;

wherein the dynamically configured meters are configured automatically and changed to adapt to the current operating state of the network element.

13. The non-transitory tangible computer readable storage medium of claim 12 , wherein the current operating state of the network element is based on the number of active ports and the control plane protocols activated on the active ports.

14. The non-transitory tangible computer readable storage medium of claim 12 , wherein the current operating state is combined with user specified policy to set limits for the dynamically configured meters.

15. The non-transitory tangible computer readable storage medium of claim 1 , wherein the per-CPU core meters control the overall or aggregate traffic load offered to the CPU core.

16. A non-transitory tangible computer readable storage medium having stored thereon a computer program for implementing control plane CPU overload protection, the computer program comprising a set of instructions which, when executed by a computer, cause the computer to perform a method comprising the steps of:

re-classifying control packets in a data plane of a network element;

metering the pre-classified control packets using dynamically configured meters, the dynamically configured meters having rates based on a number and type of service enabled on ports of the network element; and

metering control packets which pass the dynamically configured meters using per CPU core meters to implement flow control;

wherein the per-CPU core meters control the overall or aggregate traffic load offered to the CPU core; and

wherein if a control packet is received and the CPU core meter is out-of-profile, then the control packet will be buffered external to the CPU core and not processed until the CPU has available capacity.

17. A non-transitory tangible computer readable storage medium having stored thereon a computer program for implementing control plane CPU overload protection, the computer program comprising a set of instructions which, when executed by a computer, cause the computer to perform a method comprising the steps of:

re-classifying control packets in a data plane of a network element;

metering the pre-classified control packets using dynamically configured meters, the dynamically configured meters having rates based on a number and type of service enabled on ports of the network element; and

metering control packets which pass the dynamically configured meters using per CPU core meters to implement flow control;

wherein the per-CPU core meters control the overall or aggregate traffic load offered to the CPU core; and

wherein out-of-profile control packets are not caused to be discarded by the per-CPU core meters.

18. The non-transitory tangible computer readable storage medium of claim 1 , further comprising the step of detecting a traffic anomaly based on metrics associated with a number of active ports and types of services configured on the active ports.

19. The non-transitory tangible computer readable storage medium of claim 9 , wherein the dynamically configured meters enable rate limits to be dynamically adjusted based on a number of active ports on the network element.

20. The non-transitory tangible computer readable storage medium of claim 12 , wherein the dynamically configured meters enable rate limits to be dynamically adjusted based on a number of active ports on the network element.

Assignments (13)
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 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 029608/0256 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 044891/0801 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2017
From: AVAYA INC.; AVAYA COMMUNICATION ISRAEL LTD; AVAYA HOLDINGS LIMITED
To: EXTREME NETWORKS, INC.
Reel/Frame 043569/0047 →
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 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Jan 10, 2013
From: AVAYA, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 029608/0256 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2012
From: ASSARPOUR, HAMID
To: AVAYA INC.
Reel/Frame 028026/0230 →