Per queue per service differentiation for dropping packets in weighted random early detection
US-2017134282-A1 · May 11, 2017 · US
US10735331B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10735331-B1 |
| Application number | US-201615374828-A |
| Country | US |
| Kind code | B1 |
| Filing date | Dec 9, 2016 |
| Priority date | Dec 9, 2016 |
| Publication date | Aug 4, 2020 |
| Grant date | Aug 4, 2020 |
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.
Some embodiments provide a method for a hardware forwarding element. The method receives a packet to add to a buffer. The packet is assigned a packet class. The method determines an amount of buffer space available for the assigned packet class. Different packet classes have different amounts of buffer space available in the buffer. When the available buffer space for the assigned packet class is large enough for the received packet, the method adds the packet to the buffer.
Opening claim text (preview).
What is claimed is: 1. For a hardware forwarding element, a method comprising: receiving a packet to add to an output buffer of the hardware forwarding element that is shared between a plurality of egress pipelines of the hardware forwarding element that comprise configurable match-action units, wherein the packet is assigned a packet class based on (i) an ingress pipeline of the hardware forwarding element that processed the packet and (ii) a priority value assigned to the packet; for at least one of a plurality of packet classes including the assigned packet class, determining an amount of buffer space available in the output buffer by (i) calculating a total amount of buffer space available in the output buffer and (ii) multiplying the total amount of buffer space available by coefficients assigned to at least one of the packet classes, wherein the plurality of packet classes comprise a packet class for at least possible priority value for at least one of a plurality of ingress pipelines of the hardware forwarding element, wherein at least two different packet classes have different amounts of buffer space available in the buffer based on different coefficients being assigned to the at least two different packet classes; and based on the available buffer space for the assigned packet class being large enough for the received packet, adding the packet to the output buffer. 2. The method of claim 1 , wherein the output buffer comprises a temporary storage for packets processed by one of the ingress pipelines prior to processing by an egress pipeline of the hardware forwarding element. 3. The method of claim 2 , wherein the hardware forwarding element comprises a plurality of configurable ingress pipelines and a plurality of configurable egress pipelines. 4. The method of claim 3 , wherein at least one packet received by the hardware forwarding element is processed by one of the ingress pipelines, wherein at least one packet is assigned a priority value by the ingress pipeline that processes the packet. 5. The method of claim 1 , wherein a number of different packet classes is a number of ingress pipelines of the forwarding element multiplied by a number of possible priority values. 6. The method of claim 1 , wherein the hardware forwarding element comprises a traffic management circuit that performs the receiving, determining, and adding. 7. The method of claim 1 , wherein at least one of the coefficients is a value between 0 and 1. 8. The method of claim 1 , wherein the amount of buffer space available for at least one packet class is re-calculated every clock cycle. 9. The method of claim 7 , wherein the sum of the coefficients is a value less than 1. 10. The method of claim 1 , wherein adding the packet to the output buffer comprises: writing packet data for the packet into the available buffer space of the output buffer; and adding a reference to the packet data in the output buffer to one of a plurality of egress pipeline queues of the hardware forwarding element. 11. The method of claim 10 , wherein the output buffer stores packet data for the plurality of egress pipeline queues. 12. For a hardware forwarding element comprising a traffic management circuit for performing packet replication for broadcast and multicast packets, a method comprising: receiving a packet to add to an output buffer of the hardware forwarding element, wherein the packet is assigned a packet class based on (i) an ingress pipeline of the hardware forwarding element that processed the packet and (ii) a priority value assigned to the packet; for at least one of a plurality of packet classes including the assigned packet class, determining an amount of buffer space available in the output buffer by (i) calculating a total amount of buffer space available in the output buffer and (ii) multiplying the total amount of buffer space available by coefficients assigned to each of the packet classes, wherein the plurality of packet classes comprises a packet class for at least one possible priority value for at least one of a plurality of ingress pipelines of the hardware forwarding element, wherein at least one different packet classes have different amounts of buffer space available in the buffer based on different coefficients being assigned to the at least two different packet classes; and based on the available buffer space for the assigned packet class being large enough for the received packet, adding the packet to the output buffer, wherein the traffic management circuit performs the receiving, determining, and adding. 13. The method of claim 12 , wherein the output buffer is shared between a plurality of egress pipelines of the hardware forwarding element. 14. The method of claim 13 , wherein the egress pipelines comprise configurable match-action units. 15. The method of claim 12 , wherein the traffic management circuit performs processing on a particular packet after the packet is processed by one of a plurality of configurable ingress pipelines and prior to processing by one of a plurality of configurable egress pipelines. 16. The method of claim 15 , wherein based on a broadcast packet being replicated by the traffic management circuit, at least two of the replicated packets are processed by different configurable egress pipelines. 17. A forwarding element comprising: an output buffer to store storing packet data for a packet received by the forwarding element, wherein the packet is assigned a packet class based on (i) an ingress pipeline of the forwarding element that processed the packet and (ii) a priority value assigned to the packet; and a traffic management circuit to perform packet replication for broadcast and multicast packets, the traffic management circuit to: determine, for at least one of a plurality of packet classes including the assigned packet class, an amount of buffer space available in the output buffer by (i) calculate of a total amount of buffer space available and (ii) multiplication of the total amount of buffer space available by coefficients assigned to at least one of the packet classes, wherein the plurality of packet classes comprises a packet class for each possible priority value for at least one of the ingress pipelines of the hardware forwarding element, wherein at least two different packet classes have different amounts of buffer space available in the buffer based on different coefficients being assigned to the at least two different packet classes; and based on the available buffer space for the assigned packet class being large enough for the received packet, add the packet to the output buffer. 18. The forwarding element of claim 17 further comprising: a plurality of configurable ingress pipelines; and a plurality of configurable egress pipelines, wherein the output buffer comprises a temporary storage for packets processed by an ingress pipeline prior to processing by an egress pipeline. 19. The forwarding element of claim 17 , wherein at least one of the coefficients is a value between 0 and 1. 20. The forwarding element of claim 19 , wherein the sum of the coefficients is a value less than 1. 21. The forwarding element of claim 17 , wherein the traffic management circuit is to re-calculate the amount of buffer space available for at least one packet class during clock cycle of the forwarding element.
using dynamic buffer space allocation · CPC title
by discarding or delaying data units, e.g. packets or frames · CPC title
in combination with information about buffer occupancy at either end or at transit nodes · CPC title
Traffic characterised by specific attributes, e.g. priority or QoS · CPC title
for broadcast or conference {, e.g. multicast} · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.