Hierarchical rate limiting of control packets
AssigneeTelefonaktiebolaget L M Ericsson (publ)
InventorsAnubhav Gupta, Arunkumar M. Desigan, Arun Sharma, Mukund Srinivasan
Life of this patent
Estimating the term…
Abstract
Line cards receive control packets and perform a hierarchical rate limiting on those control packets. A set of identifier keys are extracted from the control packets and the protocol of those control packets are determined. At a first level, the control packets are rate limited per unique set of identifier keys per protocol. Those packets which fail the first rate limiting level are dropped. Those packets which pass the first rate limiting level are rate limited at a second level per protocol type. Those packets which fail the second level rate limiting are dropped while those packets which pass the second level rate limiting are sent to the control card for further processing.
Claims9
A method for rate limiting control packets performed on a line card of a network element, comprising:
- receiving a plurality of control packets at the line card, wherein the line card includes a plurality of networking processing units (NPU) coupled with different ones of a plurality of ports of the line card;
- for each received control packet, performing the following:
- determining a protocol type of that control packet,
- extracting a set of one or more identifier keys in that control packet based on the determined protocol type of that control packet,
- performing an identifier key based rate limiting on that control packet based on the set of extracted identifier keys and the determined protocol type of that control packet, which include the steps of:
- retrieving an identifier key rate limit counter associated with the set of identifier keys extracted from the control packet;
- retrieving an identifier key rate limiting threshold value associated with the determined protocol type of the control packet, and
- comparing the retrieved rate limit counter with the rate limit threshold;
- dropping those of the received control packets that do not pass the identifier key based rate limiting;
- and
- for each of those of the received control packets that pass the identifier key based rate limiting, performing a protocol level rate limiting based on the determined protocol type of that packet, wherein different ones of the plurality of control packets are received at different ones of the plurality of NPUs, wherein each of the NPUs performs an identifier key based control packet rate limiting and a protocol based control packet rate limiting,
- further wherein for each of the received control packets that pass the control packet level rate limiting, performing the following:
- sending that control packet to a central line processor on the line card along with the set of identifier keys, a protocol identifier, a identifier key packet count value, and a protocol packet count value associated with that control packet;
- aggregating the identifier key packet count values for those control packets having a same set of identifier keys and protocol identifier;
- aggregating the protocol packet count values for those control packets having a same protocol identifier;
- for each packet control packet received on the central line processor, performing the following:
- retrieving the aggregate identifier key packet count value corresponding with the control packet;
- retrieving an identifier key rate limit threshold value associated with the control packet based on the protocol identifier and the set of identifier keys associated with the control packet;
- performing an aggregate identifier key based rate limiting by comparing the aggregate identifier key packet count value corresponding with the control packet with the identifier key rate limit threshold value associated with the control packet, wherein the control packet passes the aggregate identifier key based rate limiting if the identifier key rate limit threshold value is not exceeded, and wherein the control packet fails the aggregate identifier key based rate limiting if the identifier key rate limit threshold value is exceeded;
- and
- dropping those control packets that fail the aggregate identifier key based rate limiting.
A line card for rate limiting control packets, comprising:
- a plurality of ports for receiving a plurality of control packets at the line card;
- a central line processor;
- the line card having a plurality of networking processing units (NPU), each NPU coupled with to the plurality of ports of the line card and the central line processor;
- each NPU having a packet parsing engine and plurality of execution units and operable to perform, for each received control packet, the following:
- determine a protocol type of that control packet,
- extract a set of one or more identifier keys in that control packet based on the determined protocol type of that control packet,
- perform an identifier key based rate limiting on that control packet based on the set of extracted identifier keys and the determined protocol type of that control packet, further operable to perform the following:
- retrieve an identifier key rate limit counter associated with the set of identifier keys extracted from the control packet;
- retrieve an identifier key rate limiting threshold value associated with the determined protocol type of the control packet, and
- compare the retrieved rate limit counter with the rate limit threshold;
- drop those of the received control packets that do not pass the identifier key based rate limiting;
- and
- for each of those of the received control packets that pass the identifier key based rate limiting, perform a protocol level rate limiting based on the determined protocol type of that packet, wherein different ones of the plurality of control packets are received at different ones of the plurality of NPUs, wherein each of the NPUs performs an identifier key based control packet rate limiting and a protocol based control packet rate limiting,
- further wherein for each of the received control packets that pass the control packet level rate limiting, the NPU operable to:
- send that control packet to the central line processor on the line card along with the set of identifier keys, a protocol identifier, a identifier key packet count value, and a protocol packet count value associated with that control packet;
- aggregate the identifier key packet count values for those control packets having a same set of identifier keys and protocol identifier;
- aggregate the protocol packet count values for those control packets having a same protocol identifier;
- for each packet control packet received on the central line processor, the central line processor operable to:
- retrieve the aggregate identifier key packet count value corresponding with the control packet;
- retrieve an identifier key rate limit threshold value associated with the control packet based on the protocol identifier and the set of identifier keys associated with the control packet;
- perform an aggregate identifier key based rate limiting by comparing the aggregate identifier key packet count value corresponding with the control packet with the identifier key rate limit threshold value associated with the control packet, wherein the control packet passes the aggregate identifier key based rate limiting if the identifier key rate limit threshold value is not exceeded, and wherein the control packet fails the aggregate identifier key based rate limiting if the identifier key rate limit threshold value is exceeded;
- and
- drop those control packets that fail the aggregate identifier key based rate limiting.
Dependencies are inferred from the claim text.