Credit mechanisms for packet policing
US-10257098-B1 · Apr 9, 2019 · US
US11539628B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11539628-B2 |
| Application number | US-202016909633-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 23, 2020 |
| Priority date | Jun 23, 2020 |
| Publication date | Dec 27, 2022 |
| Grant date | Dec 27, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments of the present disclosure automatically set a maximum burst size in a policer to optimize the flow of traffic in a network. In one embodiment, a method includes receiving a policer rate set by a first policy, a maximum rate corresponding to one or more communications channels, and maximum burst time for performing at data burst. A maximum burst size is determined automatically based on the received policer rate, maximum rate, and maximum burst time. A policer in a network device is configured to limit traffic received at the one or more communications channels based on the maximum burst size.
Opening claim text (preview).
What is claimed is: 1. A method of processing data in a network device comprising: receiving a policer rate; receiving a maximum data rate corresponding to one or more communications channels; receiving a maximum burst time for forwarding a burst flow of network data; determining a maximum burst size based on the policer rate, the maximum data rate, and the maximum burst time; configuring the network device to police traffic received over the one or more communication channels based on the maximum burst size, wherein the policer rate is a first policer rate, the maximum data rate is a first maximum data rate, and the maximum burst time is a first maximum burst time; receiving a plurality of additional policer rates; determining a plurality of additional maximum burst sizes based on the plurality of additional policer rates, one or more maximum data rates, and one or more maximum burst times; and configuring a plurality of policers in the network device to police traffic based on the plurality of additional maximum burst sizes, wherein the one or more maximum burst times comprises the first maximum burst time, and wherein the first maximum burst time is used to determine the plurality of additional maximum burst sizes. 2. The method of claim 1 , wherein said determining the maximum burst size comprises calculating a product of the maximum burst time and a difference between the maximum data rate and the policer rate. 3. The method of claim 1 , further comprising: detecting an updated maximum data rate; automatically, in response to said detecting the updated maximum data rate, determining an updated maximum burst size based on the policer rate, the updated maximum data rate, and the maximum burst time; and automatically reconfiguring the network device to police traffic received over the one or more communication channels based on the updated maximum burst size. 4. The method of claim 3 , wherein said detecting the updated maximum data rate is in response to one or more ingress ports becoming non-operational. 5. The method of claim 1 , wherein the first policer rate and the additional policer rates are associated with a plurality of policers in a data plane of the network device. 6. The method of claim 1 , wherein the maximum burst size is determined in a control plane and configured in a police, in a data plane of the network device to police traffic. 7. The method of claim 6 , wherein the policer limits traffic based on a quality of service (QoS). 8. The method of claim 6 , wherein the policer limits traffic based on a traffic type. 9. The method of claim 8 , wherein the traffic type comprises broadcast, known unicast, unknown unicast, known multicast, or unknown multicast. 10. The method of claim 1 , wherein said configuring the network device further comprises: setting a maximum value of a token value to the maximum burst size; wherein the token value is incremented at a predefined rate, and wherein the token value is decremented according to units of traffic that are forwarded. 11. The method of claim 10 , wherein said policing comprises: forwarding incoming traffic when the token value is greater than a number of tokens corresponding to the incoming traffic; and dropping incoming traffic when the token value is less than the number of tokens corresponding to the incoming traffic. 12. The method of claim 10 , further comprising: receiving a packet at the network device; determining a number of tokens associated with the packet; forwarding the packet if the number of tokens associated with the packet is less than the token value; and dropping the packet if the number of tokens associated with the packet is greater than the token value. 13. The method of claim 10 , wherein the predefined rate is the policer rate. 14. The method of claim 1 , wherein the policer rate, the maximum data rate, and the maximum burst time are received from one or more data structures, and wherein the determined maximum burst size is stored in the one or more data structures in association with the policer rate, the maximum data rate, and the maximum burst time for a particular policer. 15. The method of claim 1 , further comprising: forwarding traffic that is below the maximum burst size; and dropping traffic that is above the maximum burst size. 16. A network device including one or more network processors, the one or more network processors comprising: a plurality of ingress ports; and a network data processing pipeline comprising a policer, the policer limiting traffic received at one or more of the plurality of ingress ports based on a maximum burst size; wherein the maximum burst size is automatically determined based on a policer rate, a maximum data rate associated with at least a portion of the plurality of ingress ports, and a specified maximum burst time for forwarding a burst flow of network data, wherein the policer rate is a first policer rate, the maximum data rate is a first maximum data rate, and the maximum burst time is a first maximum burst time, the network data processing pipeline configured to: receive a plurality of additional policer rates; determine a plurality of additional maximum burst sizes based on the plurality of additional policer rates, one or more maximum data rates, and one or more maximum burst times; and configure a plurality of policers in the network device to police traffic based on the plurality of additional maximum burst sizes, wherein the one or more maximum burst times comprises the first maximum burst time, and wherein the first maximum burst time is used to determine the plurality of additional maximum burst sizes. 17. A network device, comprising: at least one control plane processor; at least one network processor to receive and send data traffic; and one or more non-transitory machine-readable media storing a program executable by the at least one network processor, the program comprising sets of instructions for: receiving a policer rate; receiving a maximum data rate corresponding to one or more communications channels; receiving a maximum burst time for forwarding a burst flow of network data; determining a maximum burst size based on the policer rate, the maximum data rate, and the maximum burst time; configuring the network device to police traffic received at the one or more communications channels based on the maximum burst size, wherein the policer rate is a first policer rate, the maximum data rate is a first maximum data rate, and the maximum burst time is a first maximum burst time; receiving a plurality of additional policer rates; determining a plurality of additional maximum burst sizes based on the plurality of additional policer rates, one or more maximum data rates, and one or more maximum burst times; and configuring a plurality of policers in the network device to police traffic based on the plurality of additional maximum burst sizes, wherein the one or more maximum burst times comprises the first maximum burst time, and wherein the first maximum burst time is used to determine the plurality of additional maximum burst sizes. 18. A network device comprising: a data plane comprising one or more data plane processors and a data processing pipeline configured to receive network traffic on a plurality of ingress ports and send the network traffic on a plurality of egress ports, wherein the data plane comprises a policer to limit a flow of network traffic through the data processing pipeline; a control plane comprising one or more control plan
Related publications grouped by family.
Answers are generated from the same data shown on this page.