Patent ID: 8249088

Claim:
A network element to perform hierarchical control packet rate limiting, comprising: a control card including, a set of one or more protocol modules to process control packets received from a plurality of line cards; and the plurality of line cards coupled with the control card, each line card including, a packet parsing engine to receive and parse control packets and write packet data into a buffer memory of the line card, the packet data including a set of one or more identifier keys associated with each of the control packets, an identifier key based rate limiter module to perform identifier key rate based limiting on the control packets per the set of identifier keys of those control packets, wherein the identifier key based rate limiter module is to perform the following for each control packet, compare an identifier key packet count value associated with the set of identifier keys for that packet with a identifier key rate limit value associated with that set of identifier keys, wherein the identifier key packet count value represents a number of control packets accepted for processing in a first time interval having that set of identifier keys, drop the control packet if the identifier key packet count value exceeds the identifier key rate limit value for that first time interval; a protocol based rate limiter module to perform protocol based rate limiting on those control packets whose associated identifier key packet count value does not exceed their associated identifier key rate limit value, wherein the protocol based rate limiter module is to perform the following for each of those control packets: compare a protocol packet count value associated with a protocol type of the control packet with a protocol rate limit value associated with that protocol type, wherein the protocol packet count value represents a number of control packets accepted for processing in a second time interval having that protocol type, drop the control packet if the protocol packet count value exceeds the protocol rate limit value for that second time interval, and send the control packet to the control card if the protocol packet count value does not exceed the protocol rate limit value for that given time period.