Priority-based flow control
AssigneeBarefoot Networks, Inc.
InventorsAnurag Agrawal, Yi Li
Life of this patent
Estimating the term…
Abstract
Some embodiments provide a method for a hardware forwarding element. The method adds a received packet to a buffer. The method determines whether adding the packet to the buffer causes the buffer to pass one of multiple flow control thresholds, each of which corresponds to a different packet priority. When adding the packet to the buffer causes the buffer to pass a particular flow control threshold corresponding to a particular priority, the method generates a flow control message for the particular priority.
Claims19
A method for avoiding buffer congestion in a hardware forwarding element, the method comprising:
- at the hardware forwarding element having (i) a plurality of ingress packet processing pipelines that process packets received from a set of network elements, (ii) a plurality of egress packet processing pipelines, and (iii) a traffic management circuit that connects the plurality of ingress packet processing pipelines to the plurality of egress packet processing pipelines:
- adding a received packet to a buffer of the traffic management circuit, the buffer comprising (i) a single shared storage for storing packets that are each assigned one of a plurality of packet priorities by an ingress pipeline and (ii) a plurality of flow control thresholds each of which corresponds to a different packet priority, wherein the received packet is assigned a first priority of the plurality of packet priorities;
- determining that adding the received packet to the buffer causes the buffer to exceed a particular flow control threshold corresponding to a second priority of the plurality of packet priorities, wherein the second priority is different than the first priority;
- identifying a plurality of network elements that transmit, to the hardware forwarding element, packets that are assigned the second priority;
- based on said determination that adding the received packet to the buffer causes the buffer to exceed a particular flow control threshold corresponding to a second priority, generating a flow control message for the second priority;
- and
- transmitting the generated flow control message to the plurality of identified network elements.
A forwarding element comprising:
- a plurality of ingress packet processing pipelines to process packets received from a set of network elements;
- a plurality of egress packet processing pipelines;
- a traffic management circuit to connect the plurality of ingress packet processing pipelines to the plurality of egress packet processing pipelines, the traffic management circuit comprising a buffer to store packet data for packets received by the hardware forwarding element after processing by one of the ingress packet processing pipelines and prior to processing by one of the egress packet processing pipelines, the buffer (i) comprising a single shared storage to store packets that are each assigned one of a plurality of packet priorities by the ingress pipeline that processed the packet and having a plurality of flow control thresholds each corresponding to a different packet priority, the traffic management circuit to:
- add a received packet to the buffer, the received packet assigned a first priority of the plurality of packet priorities;
- determine that adding the received packet to the buffer causes the buffer to exceed a particular flow control threshold corresponding to a second priority of the plurality of packet priorities that is different than the first priority;
- and
- identify a plurality of network elements that transmit, to the hardware forwarding element, packets that are assigned the second priority;
- and
- based on said determination that addition of the received packet to the buffer causes the buffer to exceed a particular flow control threshold corresponding to a second priority, initiate generation of a flow control message for the second priority to be transmitted to the plurality of identified network elements.
Dependencies are inferred from the claim text.