US 12,088,504 B2
Using stateful traffic management data to perform packet processing
Yi Li, Fremont, CA (US); Michael Feng, Mountain View, CA (US); Anurag Agrawal, Santa Clara, CA (US); Jeongkeun Lee, Los Altos, CA (US); Changhoon Kim, Palo Alto, CA (US); and Remy Chang, Milpitas, CA (US)
Assigned to Barefoot Networks, Inc., Santa Clara, CA (US)
Filed by Barefoot Networks, Inc., Santa Clara, CA (US)
Filed on Jun. 27, 2023, as Appl. No. 18/214,665.
Application 18/214,665 is a continuation of application No. 17/134,110, filed on Dec. 24, 2020, granted, now 11,750,526.
Application 17/134,110 is a continuation of application No. 15/835,238, filed on Dec. 7, 2017, granted, now 10,911,377, issued on Feb. 2, 2021.
Claims priority of provisional application 62/537,917, filed on Jul. 27, 2017.
Claims priority of provisional application 62/535,934, filed on Jul. 23, 2017.
Prior Publication US 2023/0412520 A1, Dec. 21, 2023
Int. Cl. H04L 47/625 (2022.01); H04L 12/18 (2006.01); H04L 41/142 (2022.01); H04L 43/0882 (2022.01); H04L 43/16 (2022.01); H04L 45/00 (2022.01); H04L 45/24 (2022.01); H04L 45/745 (2022.01); H04L 45/7453 (2022.01); H04L 47/32 (2022.01); H04L 47/62 (2022.01); H04L 47/628 (2022.01); H04L 49/00 (2022.01); H04L 49/101 (2022.01); H04L 49/109 (2022.01); H04L 49/90 (2022.01); H04L 69/22 (2022.01)
CPC H04L 47/6255 (2013.01) [H04L 41/142 (2013.01); H04L 43/0882 (2013.01); H04L 43/16 (2013.01); H04L 45/245 (2013.01); H04L 45/72 (2013.01); H04L 45/745 (2013.01); H04L 45/7453 (2013.01); H04L 47/32 (2013.01); H04L 47/62 (2013.01); H04L 47/628 (2013.01); H04L 49/109 (2013.01); H04L 49/3063 (2013.01); H04L 49/90 (2013.01); H04L 69/22 (2013.01); H04L 12/1886 (2013.01); H04L 49/101 (2013.01)] 20 Claims
OG exemplary drawing
 
1. An integrated circuit to be associated with a network, the integrated circuit to be used in network forwarding operations associated with at least one network destination, the integrated circuit comprising:
configurable ingress pipelines to process packet data received by the integrated circuit;
traffic manager circuitry to (1) queue the packet data processed by the configurable ingress pipelines, and (2) dequeue the packet data queued by the traffic manager circuitry; and
configurable egress pipelines to process, for use in forwarding to the at least one network destination, the packet data dequeued by the traffic manager circuitry;
wherein:
the configurable ingress pipelines and/or the configurable egress pipelines are configurable to comprise at least one parser, at least one match-action stage, and at least one other stage;
the at least one parser is to identify packet header field data for use by the at least one match-action stage and the at least one other stage;
the at least one match-action stage is to perform packet data processing associated with the network forwarding operations;
the at least one other stage is to generate other packet data for use in the forwarding to the at least one network destination;
the packet data processing is configurable, at least in part, based upon control plane-generated configuration data to be received by the integrated circuit from a local control plane or a remote control plane;
the packet data processing is to be based, at least in part, upon match table data that is configurable to comprise Ternary Content-Addressable Memory (TCAM) match table data and/or exact match table data;
the match table data comprises match entry data to be matched against the packet header field data to determine at least one corresponding action to be performed;
the integrated circuit is to generate queue state data:
in response, at least in part, to packet data queuing/dequeuing by the traffic manager circuitry; and
based upon queue occupancy information and queue identification data of the packet data queued by the traffic manager circuitry;
the queue state data is to be used in association with at least one mapping that is based upon memory location data and the queue identification data;
at least one pipeline comprised in the configurable ingress pipelines and the configurable egress pipelines is configurable to perform at least one congestion-related packet data processing decision based upon the queue state data; and
the at least one congestion-related packet data processing decision is configurable to comprise at least one packet data queue/drop decision.