Congestion avoidance in a network device
US-2017339062-A1 · Nov 23, 2017 · US
US11025549B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11025549-B2 |
| Application number | US-201816176640-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 31, 2018 |
| Priority date | Jan 30, 2018 |
| Publication date | Jun 1, 2021 |
| Grant date | Jun 1, 2021 |
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.
Methods and systems are provided for processing a received packet based on associated state information. A packet processor of a network device receives a packet from a network. The received packet is classified as belonging to at least one respective identified flow from among a plurality of identified flows. For a respective received packet that belongs to an identified flow a current state value for the identified flow is ascertained based on a state table. The current state value is assigned to the respective received packet based on the current state value using the state table for the identified flow. A packet processing operation is subsequently performed on the respective received packet based in part on the state value of the identified flow to which the respective packet belongs.
Opening claim text (preview).
What is claimed is: 1. A method for processing a received packet based on associated state information, the method comprising: receiving, at a packet processor of a network device, packets from a network; classifying a received packet as belonging to at least one respective identified flow from among a plurality of identified flows; for a respective received packet that belongs to an identified flow: ascertaining a current state value for the identified flow, the state value corresponding to a number of received packets belonging to the identified flow; assigning the current state value of the identified flow to the respective received packet; updating a header of the respective received packet to include the current state value of the identified flow; and performing a first packet processing operation on the respective received packet based in part on the updated header of the received packet when the state value of the identified flow to which the respective packet belongs is equal to a first state value, and performing a second packet processing operation, different from the first packet processing operation, on the received packet when the state value of the identified flow to which the packet belongs in the updated header of the received packet is equal to a second state value different from the first state value. 2. The method of claim 1 , wherein performing a first packet processing operation based in part on the updated header of the received packet when the state value of the identified flow to which the respective packet belongs is equal to a first state value comprises performing one or more processing operations including one or more of: a forwarding operation to forward the respective received packet to one or more different destinations based at least in part on the first state value; a packet mirroring operation to mirror the respective received packet one or more times based at least in part on the first state value; and a quality-of-service (QoS) operation to apply a QOS level to the respective received packet based at least in part on the first state value; wherein performing a second packet processing operation on the received packet when the state value of the identified flow to which the packet belongs in the updated header of the received packet is equal to a second state value comprises performing one or more processing operations including one or more of: a forwarding operation to forward the respective received packet to one or more different destinations based at least in part on the second state value; a packet mirroring operation to mirror the respective received packet one or more times based at least in part on the second state value; and a quality-of-service (QoS) operation to apply a QOS level to the respective received packet based at least in part on the second state value. 3. The method of claim 1 , wherein ascertaining a current state value comprises ascertaining the state value indicative of a number of previously received packets belonging to the identified flow. 4. The method of claim 1 , further comprising: in response to classifying the received packet as belonging to at least one respective identified flow, updating the state value indicative of a number of previously received packets belonging to the respective identified flow, the updated state value being indicative of a number of currently received packets belonging to the respective identified flow. 5. The method according to claim 4 , wherein updating the header of the respective received packet to include the current state value of the identified flow, comprises: setting an initial value of the state value equal to a pre-defined number; and decrementing the state value by 1 for each received packet belonging to the identified flow. 6. The method according to claim 5 , wherein performing a first packet processing operation on the respective received packet based in part on the updated header of the received packet when the state value of the flow to which the respective packet belongs is equal to a first state value, further comprises: performing the first packet processing operation on the respective received packet when the first state value equals a non-zero value; and wherein performing a second packet processing operation on the received packet when the state value of the identified flow to which the packet belongs in the updated header of the received packet is equal to a second state value further comprises: performing the second packet processing operation, different from the first packet processing operation, on the respective received packet when the second state value equals zero. 7. The method according to claim 5 , wherein performing a first packet processing operation on the respective received packet based in part on the updated header of the received packet when the state value of the flow to which the respective packet belongs is equal to a first state value further comprises: mirroring the respective received packet to a central processing unit (CPU) when the first state value equals a non-zero value; wherein performing a second packet processing operation on the received packet when the state value of the identified flow to which the packet belongs in the updated header of the received packet is equal to a second state value further comprises: mirroring the received packet to a central processing unit (CPU) when the second state value equals a zero value. 8. The method according to claim 1 , further comprising: assigning a metadata value associated with the respective received packet equal to a value V 1 when the state value is equal to a target value; assigning the metadata value associated with the respective received packet equal to a value V 2 when the state value is not equal to the target value; and performing one of the first and the second packet processing operations on the respective received packet based on the metadata value associated with the respective received packet. 9. The method according to claim 8 , wherein performing the first packet processing operation on the respective received packet based on the metadata value associated with the respective received packet comprises: adding telemetry information to the respective received packet when the metadata value associated with the respective received packet is equal to the value V 1 indicative of the first state value being equal to the target value; wherein performing the second packet processing operations on the received packet based on the metadata value associated with the received packet comprises: adding telemetry information to the received packet when the metadata value associated with the received packet is equal to the value V 1 indicative of the second state value being equal to the target value. 10. The method according to claim 1 , wherein classifying the received packets as belonging to at least one respective identified flow from among the plurality of identified flows comprises: identifying the flow from the plurality of identified flows based on a packet header and attributes of the respective received packet; and accessing a state table corresponding to the identified flow, the state table being indicative of a number of received packets assigned to the respective flow. 11. A network device for processing a received packet based on associated state information, the network device comprising: a packet processor configured to receive packets from a network; and control circuitry configured to: classify a received packet as belonging to at least one respective identified flow from among a plurality of identified flows; for a respective received packet
relying on flow classification, e.g. using integrated services [IntServ] · CPC title
using content-addressable memories [CAM] · CPC title
Parsing or analysis of headers · CPC title
Address processing for routing · CPC title
for supporting traffic characterised by the type of applications · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.