IP Library Granted Patent US 12,445,542
Granted Patent B2
US 12,445,542 · App. 18/212,546 · Granted Oct 14, 2025

Configuring a switch for extracting packet header fields

Inventor: Patrick Bosshart (Plano, TX)
Assignee: Barefoot Networks, Inc.
H04L69/22H04L49/3009
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,445,542
App. No.
18/212,546
Filed
Jun 21, 2023
Granted
Oct 14, 2025
Kind
B2
Art Unit
2478
USPC
370/392
Abstract

A method for generating configuration data for configuring a hardware switch is described. The method receives a description of functionality for the hardware switch. Based on the description, the method generates sets of match and action entries to configure the hardware switch to process packets. The method then determines, for each packet header field in a parse graph that specifies instructions for a parser of the switch to extract packet header fields from packets, whether the packet header field is used or modified by at least one match or action entry. The method generates for the parser of the hardware switch configuration data that instructs the parser to extract (i) packet header fields used or modified by at least one match or action entry to a first set of registers and (ii) packet header fields not used by any match or action entries to a second set of registers.

Claims (142)

1. Integrated circuit for use in packet switching-related operations in a network, the integrated circuit being configurable to be used in a hardware switch in association with ternary content addressable memory (TCAM), the packet switching-related operations being programmable based upon configuration data to be received by the integrated circuit, the integrated circuit comprising:

an ingress pipeline to process packet data received by the integrated circuit;

a shared queuing system to queue the packet data processed by the ingress pipeline; and

an egress pipeline to obtain, from the shared queuing system, the packet data processed by the ingress pipeline, and also to further process the packet data processed by the ingress pipeline;

wherein:

the ingress pipeline comprises a configurable parser and configurable match-action stages;

the egress pipeline comprises at least one other stage;

the configurable parser is to be configured, in accordance with the configuration data, to parse packet header fields to generate multiple sets of header field data;

the multiple sets of header field data comprise (1) at least one set of header field data for use by at least one of the match-action stages and (2) at least one other set of header field data;

the at least one of the match-action stages is to perform actions associated with at least certain portions of the at least one set of header field data;

the at least one of the match-action stages is to determine the actions based upon matching, at least in part, of the at least one set of header field data with match table data;

the match action table data is configurable to comprise both (1) ternary content addressable table data to be stored in the TCAM and (2) exact match table data;

the actions and the match action table data are to be configured based upon the configuration data;

the actions are configurable to comprise packet header data modification and/or packet data port assignment;

the at least one other stage is to generate output packet data for output from the integrated circuit;

the at least one other stage is to generate the output packet data based upon modified packet header data generated by the at least one of the match-action stages;

the at least one other set of header field data is unavailable for match-action stage modification; and

the parser is configurable, based upon the configuration data, to store the at least one set of header field data, at least in part, in containers of different sizes.

2. The integrated circuit of claim 1 , wherein:

the parser is to extract the at least one set of header field data and the at least one other set of header field data in accordance with parse graph data that defines manner of header field extraction in terms of current bit field and next bit field for extraction; and

the parse graph data is to be defined by the configuration data.

3. The integrated circuit of claim 2 , wherein:

the configuration data is to be generated by a compiler based upon user-written code; and

the compiler is not part of the integrated circuit.

4. The integrated circuit of claim 3 , wherein:

the actions are also configurable to comprise:

address modification; and

packet data drop; and

the packet switching-related operations are configurable to comprise:

multi-layer tunneling protocol processing;

GENEVE/GRE protocol processing; and

variable field processing.

5. The integrated circuit of claim 4 , wherein:

the configuration data is configurable to instruct the parser to determine when header end has been reached, and to stop parse graph traversal and header parsing.

6. At least one non-transitory machine-readable storage medium storing instructions for being executed by an integrated circuit, the integrated circuit being for use in packet switching-related operations in a network, the integrated circuit being configurable to be used in a hardware switch in association with ternary content addressable memory (TCAM), the packet switching-related operations being programmable based upon configuration data to be received by the integrated circuit, the instructions when executed by the integrated circuit resulting in the integrated circuit being configured to perform operations comprising:

processing, by an ingress pipeline of the integrated circuit, packet data received by the integrated circuit;

queuing, by a shared queuing system of the integrated circuit, the packet data processed by the ingress pipeline; and

obtaining, by an egress pipeline of the integrated circuit, from the shared queuing system, the packet data processed by the ingress pipeline; and

further processing, by the egress pipeline, the packet data processed by the ingress pipeline;

wherein:

the ingress pipeline comprises a configurable parser and configurable match-action stages;

the egress pipeline comprises at least one other stage;

the configurable parser is to be configured, in accordance with the configuration data, to parse packet header fields to generate multiple sets of header field data;

the multiple sets of header field data comprise (1) at least one set of header field data for use by at least one of the match-action stages and (2) at least one other set of header field data;

the at least one of the match-action stages is to perform actions associated with at least certain portions of the at least one set of header field data;

the at least one of the match-action stages is to determine the actions based upon matching, at least in part, of the at least one set of header field data with match table data;

the match action table data is configurable to comprise both (1) ternary content addressable table data to be stored in the TCAM and (2) exact match table data;

the actions and the match action table data are to be configured based upon the configuration data;

the actions are configurable to comprise packet header data modification and/or packet data port assignment;

the at least one other stage is to generate output packet data for output from the integrated circuit;

the at least one other stage is to generate the output packet data based upon modified packet header data generated by the at least one of the match-action stages;

the at least one other set of header field data is unavailable for match-action stage modification; and

the parser is configurable, based upon the configuration data, to store the at least one set of header field data, at least in part, in containers of different sizes.

7. The at least one non-transitory machine-readable storage medium of claim 6 , wherein:

the parser is to extract the at least one set of header field data and the at least one other set of header field data in accordance with parse graph data that defines manner of header field extraction in terms of current bit field and next bit field for extraction; and

the parse graph data is to be defined by the configuration data.

8. The at least one non-transitory machine-readable storage medium of claim 7 , wherein:

the configuration data is to be generated by a compiler based upon user-written code; and

the compiler is not part of the integrated circuit.

9. The at least one non-transitory machine-readable storage medium of claim 8 , wherein:

the actions are also configurable to comprise:

address modification; and

packet data drop; and

the packet switching-related operations are configurable to comprise:

multi-layer tunneling protocol processing;

GENEVE/GRE protocol processing; and

variable field processing.

10. The at least one non-transitory machine-readable storage medium of claim 9 , wherein:

the configuration data is configurable to instruct the parser to determine when header end has been reached, and to stop parse graph traversal and header parsing.

11. A method implemented using an integrated circuit, the integrated circuit being for use in packet switching-related operations in a network, the integrated circuit being configurable to be used in a hardware switch in association with ternary content addressable memory (TCAM), the packet switching-related operations being programmable based upon configuration data to be received by the integrated circuit, the method comprising:

processing, by an ingress pipeline of the integrated circuit, packet data received by the integrated circuit;

queuing, by a shared queuing system of the integrated circuit, the packet data processed by the ingress pipeline; and

obtaining, by an egress pipeline of the integrated circuit, from the shared queuing system, the packet data processed by the ingress pipeline; and

further processing, by the egress pipeline, the packet data processed by the ingress pipeline;

wherein:

the ingress pipeline comprises a configurable parser and configurable match-action stages;

the egress pipeline comprises at least one other stage;

the configurable parser is to be configured, in accordance with the configuration data, to parse packet header fields to generate multiple sets of header field data;

the multiple sets of header field data comprise (1) at least one set of header field data for use by at least one of the match-action stages and (2) at least one other set of header field data;

the at least one of the match-action stages is to perform actions associated with at least certain portions of the at least one set of header field data;

the at least one of the match-action stages is to determine the actions based upon matching, at least in part, of the at least one set of header field data with match table data;

the match action table data is configurable to comprise both (1) ternary content addressable table data to be stored in the TCAM and (2) exact match table data;

the actions and the match action table data are to be configured based upon the configuration data;

the actions are configurable to comprise packet header data modification and/or packet data port assignment;

the at least one other stage is to generate output packet data for output from the integrated circuit;

the at least one other stage is to generate the output packet data based upon modified packet header data generated by the at least one of the match-action stages;

the at least one other set of header field data is unavailable for match-action stage modification; and

the parser is configurable, based upon the configuration data, to store the at least one set of header field data, at least in part, in containers of different sizes.

12. The method of claim 11 , wherein:

the parser is to extract the at least one set of header field data and the at least one other set of header field data in accordance with parse graph data that defines manner of header field extraction in terms of current bit field and next bit field for extraction; and

the parse graph data is to be defined by the configuration data.

13. The method of claim 12 , wherein:

the configuration data is to be generated by a compiler based upon user-written code; and

the compiler is not part of the integrated circuit.

14. The method of claim 13 , wherein:

the actions are also configurable to comprise:

address modification; and

packet data drop; and

the packet switching-related operations are configurable to comprise:

multi-layer tunneling protocol processing;

GENEVE/GRE protocol processing; and

variable field processing.

15. The method of claim 14 , wherein:

the configuration data is configurable to instruct the parser to determine when header end has been reached, and to stop parse graph traversal and header parsing.

16. A hardware switch configurable to be used in association with ternary content addressable memory (TCAM), the hardware switch being for use in a network, the hardware switch comprising:

ingress ports;

egress ports; and

an integrated circuit coupled to both the ingress ports and the egress ports, the integrated circuit being for use in packet switching-related operations in the network, the packet switching-related operations being programmable based upon configuration data to be received by the integrated circuit, the integrated circuit comprising:

an ingress pipeline to process packet data received by the integrated circuit via the ingress ports;

a shared queuing system to queue the packet data processed by the ingress pipeline; and

an egress pipeline to obtain, from the shared queuing system, the packet data processed by the ingress pipeline, and also to further process the packet data processed by the ingress pipeline;

wherein:

the ingress pipeline comprises a configurable parser and configurable match-action stages;

the egress pipeline comprises at least one other stage;

the configurable parser is to be configured, in accordance with the configuration data, to parse packet header fields to generate multiple sets of header field data;

the multiple sets of header field data comprise (1) at least one set of header field data for use by at least one of the match-action stages and (2) at least one other set of header field data;

the at least one of the match-action stages is to perform actions associated with at least certain portions of the at least one set of header field data;

the at least one of the match-action stages is to determine the actions based upon matching, at least in part, of the at least one set of header field data with match table data;

the match action table data is configurable to comprise both (1) ternary content addressable table data to be stored in the TCAM and (2) exact match table data;

the actions and the match action table data are to be configured based upon the configuration data;

the actions are configurable to comprise packet header data modification and/or packet data port assignment;

the at least one other stage is to generate output packet data for output from the integrated circuit;

the at least one other stage is to generate the output packet data based upon modified packet header data generated by the at least one of the match-action stages;

the output packet data is for output via at least one of the egress ports;

the at least one other set of header field data is unavailable for match-action stage modification; and

the parser is configurable, based upon the configuration data, to store the at least one set of header field data, at least in part, in containers of different sizes.

17. The hardware switch of claim 16 , wherein:

the parser is to extract the at least one set of header field data and the at least one other set of header field data in accordance with parse graph data that defines manner of header field extraction in terms of current bit field and next bit field for extraction; and

the parse graph data is to be defined by the configuration data.

18. The hardware switch of claim 17 , wherein:

the configuration data is to be generated by a compiler based upon user-written code; and

the compiler is not part of the integrated circuit.

19. The hardware switch of claim 18 , wherein:

the actions are also configurable to comprise:

address modification; and

packet data drop; and

the packet switching-related operations are configurable to comprise:

multi-layer tunneling protocol processing;

GENEVE/GRE protocol processing; and

variable field processing.

20. The hardware switch of claim 19 , wherein:

the configuration data is configurable to instruct the parser to determine when header end has been reached, and to stop parse graph traversal and header parsing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2026
From: BAREFOOT NETWORKS, INC.
To: INTEL CORPORATION
Reel/Frame 075834/0019 →
Continuity (5)
Continuation 17570994 · Jan 7, 2022
Continuation 16288074 · Feb 27, 2019
Continuation 15729593 · Oct 10, 2017
Continuation 14836855 · Aug 26, 2015
Related Publication 20230344922A1 · Oct 26, 2023
References Cited (400)
US 1522006A · Fletcher · 1925 [cited by applicant]
US 5243596A · Port et al. · 1993 [cited by applicant]
US 5642483A · Topper · 1997 [cited by applicant]
US 5784003A · Dahlgren · 1998 [cited by applicant]
US 6157955A · Narad et al. · 2000 [cited by applicant]
US 6442172B1 · Wallner et al. · 2002 [cited by applicant]
US 6453360B1 · Muller et al. · 2002 [cited by applicant]
US 6735679B1 · Herbst et al. · 2004 [cited by applicant]
US 6836483B1 · Lee · 2004 [cited by applicant]
US 6948099B1 · Tallam · 2005 [cited by applicant]
US 6976149B1 · Brandt et al. · 2005 [cited by applicant]
US 6980552B1 · Belz et al. · 2005 [cited by applicant]
US 7042888B2 · Berggreen · 2006 [cited by applicant]
US 7046685B1 · Matsuoka et al. · 2006 [cited by applicant]
US 7062571B1 · Dale et al. · 2006 [cited by applicant]
US 7177276B1 · Epps et al. · 2007 [cited by applicant]
US 7203740B1 · Putzolu et al. · 2007 [cited by applicant]
US 7389462B1 · Wang et al. · 2008 [cited by applicant]
US 7492714B1 · Liao et al. · 2009 [cited by applicant]
US 7499941B2 · Michaeli et al. · 2009 [cited by applicant]
US 7539777B1 · Aitken · 2009 [cited by applicant]
US 7633880B2 · Bang et al. · 2009 [cited by applicant]
US 7643486B2 · Belz et al. · 2010 [cited by applicant]
US 7826470B1 · Aloni et al. · 2010 [cited by applicant]
US 7872774B2 · Okamoto · 2011 [cited by applicant]
US 7873959B2 · Zhu et al. · 2011 [cited by applicant]
US 7889750B1 · Parker · 2011 [cited by applicant]
US 7904642B1 · Gupta et al. · 2011 [cited by applicant]
US 7961734B2 · Panwar et al. · 2011 [cited by applicant]
US 8077611B2 · Bettink et al. · 2011 [cited by applicant]
US 8094659B1 · Arad · 2012 [cited by applicant]
US 8155135B2 · Aloni et al. · 2012 [cited by applicant]
US 8514855B1 · Robertson et al. · 2013 [cited by applicant]
US 8527613B2 · Malone et al. · 2013 [cited by applicant]
US 8593955B2 · Yano et al. · 2013 [cited by applicant]
US 8638793B1 · Ben-Mayor et al. · 2014 [cited by applicant]
US 8693374B1 · Murphy et al. · 2014 [cited by applicant]
US 8738860B1 · Griffin et al. · 2014 [cited by applicant]
US 8788512B2 · Asaad et al. · 2014 [cited by applicant]
US 8798047B1 · Wadekar et al. · 2014 [cited by applicant]
US 8971338B2 · Mishra et al. · 2015 [cited by applicant]
US 9049153B2 · Casado et al. · 2015 [cited by applicant]
US 9049271B1 · Hobbs et al. · 2015 [cited by applicant]
US 9055004B2 · Edsall et al. · 2015 [cited by applicant]
US 9055114B1 · Talaski et al. · 2015 [cited by applicant]
US 9112818B1 · Arad et al. · 2015 [cited by applicant]
US 9124644B2 · Patel et al. · 2015 [cited by applicant]
US 9213537B2 · Bandakka et al. · 2015 [cited by applicant]
US 9258224B2 · Bosshart et al. · 2016 [cited by applicant]
US 9276846B2 · Goyal et al. · 2016 [cited by applicant]
US 9276851B1 · Dror et al. · 2016 [cited by applicant]
US 9294386B2 · Narad · 2016 [cited by applicant]
US 9298446B2 · Chang et al. · 2016 [cited by applicant]
US 9438505B1 · Zhou et al. · 2016 [cited by applicant]
US 9450817B1 · Bahadur et al. · 2016 [cited by applicant]
US 9467363B2 · Gao · 2016 [cited by applicant]
US 9544231B2 · Bosshart et al. · 2017 [cited by applicant]
US 9590925B2 · Yamashita · 2017 [cited by applicant]
US 9686209B1 · Arad et al. · 2017 [cited by applicant]
US 9692690B2 · Joshi et al. · 2017 [cited by applicant]
US 9712439B2 · Bosshart et al. · 2017 [cited by applicant]
US 9755932B1 · Godbole et al. · 2017 [cited by applicant]
US 9825862B2 · Bosshart · 2017 [cited by applicant]
US 9826071B2 · Bosshart · 2017 [cited by applicant]
US 9838268B1 · Mattson · 2017 [cited by applicant]
US 9888033B1 · Li et al. · 2018 [cited by applicant]
US 9891898B1 · Tonsing · 2018 [cited by applicant]
US 9912610B2 · Bosshart et al. · 2018 [cited by applicant]
US 9912774B2 · Daly et al. · 2018 [cited by applicant]
US 9923816B2 · Kim et al. · 2018 [cited by applicant]
US 9960956B1 · Johnson et al. · 2018 [cited by applicant]
US 10009276B2 · Bosshart et al. · 2018 [cited by applicant]
US 10015048B2 · Gasparakis et al. · 2018 [cited by applicant]
US 10044646B1 · Detwiler · 2018 [cited by applicant]
US 10091137B2 · Tran et al. · 2018 [cited by applicant]
US 10135734B1 · Singh et al. · 2018 [cited by applicant]
US 10225381B1 · Bosshart · 2019 [cited by applicant]
US 10291555B2 · K et al. · 2019 [cited by applicant]
US 10341242B2 · Srinivasan et al. · 2019 [cited by applicant]
US 10361914B2 · Gasparakis et al. · 2019 [cited by applicant]
US 10412018B1 · Feng et al. · 2019 [cited by applicant]
US 10419242B1 · Tonsing et al. · 2019 [cited by applicant]
US 10419366B1 · Kim et al. · 2019 [cited by applicant]
US 10432527B1 · Bosshart · 2019 [cited by applicant]
US 10686735B1 · Watson · 2020 [cited by applicant]
US 10694006B1 · Watson et al. · 2020 [cited by applicant]
US 10757028B1 · Watson et al. · 2020 [cited by applicant]
US 10892939B2 · Castaldelli et al. · 2021 [cited by applicant]
US 11863467B2 · Galles et al. · 2024 [cited by applicant]
US 20010043611A1 · Kadambi et al. · 2001 [cited by applicant]
US 20020001356A1 · Shenoi · 2002 [cited by applicant]
US 20020136163A1 · Kawakami et al. · 2002 [cited by applicant]
US 20020172210A1 · Wolrich et al. · 2002 [cited by applicant]
US 20030009466A1 · Ta et al. · 2003 [cited by applicant]
US 20030043825A1 · Magnussen et al. · 2003 [cited by applicant]
US 20030046414A1 · Pettyjohn et al. · 2003 [cited by applicant]
US 20030046429A1 · Sonksen · 2003 [cited by applicant]
US 20030063345A1 · Fossum et al. · 2003 [cited by applicant]
US 20030107996A1 · Black et al. · 2003 [cited by applicant]
US 20030118022A1 · Kulkarni et al. · 2003 [cited by applicant]
US 20030147401A1 · Kyronaho et al. · 2003 [cited by applicant]
US 20030154358A1 · Seong et al. · 2003 [cited by applicant]
US 20030167373A1 · Winters et al. · 2003 [cited by applicant]
US 20030219026A1 · Sun et al. · 2003 [cited by applicant]
US 20040024894A1 · Osman et al. · 2004 [cited by applicant]
US 20040031029A1 · Lee et al. · 2004 [cited by applicant]
US 20040042477A1 · Bitar et al. · 2004 [cited by applicant]
US 20040105384A1 · Gallezot et al. · 2004 [cited by applicant]
US 20040123220A1 · Johnson et al. · 2004 [cited by applicant]
US 20040165588A1 · Pandya · 2004 [cited by applicant]
US 20040213156A1 · Smallwood et al. · 2004 [cited by applicant]
US 20050013251A1 · Wang et al. · 2005 [cited by applicant]
US 20050041590A1 · Olakangil et al. · 2005 [cited by applicant]
US 20050060428A1 · Corl et al. · 2005 [cited by applicant]
US 20050078651A1 · Lee et al. · 2005 [cited by applicant]
US 20050086353A1 · Shirakawa et al. · 2005 [cited by applicant]
US 20050108518A1 · Pandya · 2005 [cited by applicant]
US 20050120173A1 · Minowa · 2005 [cited by applicant]
US 20050129059A1 · Jiang et al. · 2005 [cited by applicant]
US 20050135399A1 · Baden et al. · 2005 [cited by applicant]
US 20050149823A1 · Lee · 2005 [cited by applicant]
US 20050198531A1 · Kaniz et al. · 2005 [cited by applicant]
US 20050243852A1 · Bitar et al. · 2005 [cited by applicant]
US 20060002386A1 · Yik et al. · 2006 [cited by applicant]
US 20060039372A1 · Sarkinen et al. · 2006 [cited by applicant]
US 20060039374A1 · Belz et al. · 2006 [cited by applicant]
US 20060050690A1 · Epps et al. · 2006 [cited by applicant]
US 20060072480A1 · Deval et al. · 2006 [cited by applicant]
US 20060092857A1 · Ansari et al. · 2006 [cited by applicant]
US 20060114895A1 · Anand et al. · 2006 [cited by applicant]
US 20060114914A1 · Anand et al. · 2006 [cited by applicant]
US 20060117126A1 · Leung et al. · 2006 [cited by applicant]
US 20060174242A1 · Zhu et al. · 2006 [cited by applicant]
US 20060277346A1 · Doak et al. · 2006 [cited by applicant]
US 20070008985A1 · Lakshmanamurthy et al. · 2007 [cited by applicant]
US 20070050426A1 · Dubal et al. · 2007 [cited by applicant]
US 20070055664A1 · Michaeli et al. · 2007 [cited by applicant]
US 20070104102A1 · Opsasnick · 2007 [cited by applicant]
US 20070104211A1 · Opsasnick · 2007 [cited by applicant]
US 20070153796A1 · Kesavan et al. · 2007 [cited by applicant]
US 20070195761A1 · Tatar et al. · 2007 [cited by applicant]
US 20070195773A1 · Tatar et al. · 2007 [cited by applicant]
US 20070208876A1 · Davis · 2007 [cited by applicant]
US 20070223388A1 · Arad et al. · 2007 [cited by applicant]
US 20070230493A1 · Dravida et al. · 2007 [cited by applicant]
US 20070236734A1 · Okamoto · 2007 [cited by applicant]
US 20070280277A1 · Lund et al. · 2007 [cited by applicant]
US 20080082792A1 · Vincent et al. · 2008 [cited by applicant]
US 20080130670A1 · Kim et al. · 2008 [cited by applicant]
US 20080144662A1 · Marcondes et al. · 2008 [cited by applicant]
US 20080175449A1 · Fang et al. · 2008 [cited by applicant]
US 20080285571A1 · Arulambalam et al. · 2008 [cited by applicant]
US 20090006605A1 · Chen et al. · 2009 [cited by applicant]
US 20090096797A1 · Du et al. · 2009 [cited by applicant]
US 20090106523A1 · Steiss · 2009 [cited by applicant]
US 20090147787A1 · Arulambalam et al. · 2009 [cited by applicant]
US 20090180475A1 · Hashimoto · 2009 [cited by applicant]
US 20100085891A1 · Kind et al. · 2010 [cited by applicant]
US 20100128735A1 · Lipschutz · 2010 [cited by applicant]
US 20100135158A1 · Adams · 2010 [cited by applicant]
US 20100140364A1 · Nordberg et al. · 2010 [cited by applicant]
US 20100145475A1 · Bartels et al. · 2010 [cited by applicant]
US 20100150164A1 · Ma · 2010 [cited by applicant]
US 20100182920A1 · Matsuoka · 2010 [cited by applicant]
US 20100191951A1 · Malone et al. · 2010 [cited by applicant]
US 20100228733A1 · Harrison et al. · 2010 [cited by applicant]
US 20100238812A1 · Boutros et al. · 2010 [cited by applicant]
US 20100312941A1 · Aloni et al. · 2010 [cited by applicant]
US 20110080916A1 · Davies et al. · 2011 [cited by applicant]
US 20110149776A1 · Park et al. · 2011 [cited by applicant]
US 20110149960A1 · Gutierrez · 2011 [cited by applicant]
US 20120033550A1 · Yano et al. · 2012 [cited by applicant]
US 20120155395A1 · Yadav et al. · 2012 [cited by applicant]
US 20120159235A1 · Suganthi et al. · 2012 [cited by applicant]
US 20120170585A1 · Mehra et al. · 2012 [cited by applicant]
US 20120173661A1 · Mahaffey et al. · 2012 [cited by applicant]
US 20120177047A1 · Roitshtein · 2012 [cited by applicant]
US 20120284438A1 · Zievers · 2012 [cited by applicant]
US 20130003556A1 · Boden et al. · 2013 [cited by applicant]
US 20130028265A1 · Ronchetti et al. · 2013 [cited by applicant]
US 20130100951A1 · Ishizuka · 2013 [cited by applicant]
US 20130108264A1 · Deruijter et al. · 2013 [cited by applicant]
US 20130124491A1 · Pepper et al. · 2013 [cited by applicant]
US 20130163426A1 · Beliveau et al. · 2013 [cited by applicant]
US 20130163427A1 · Beliveau et al. · 2013 [cited by applicant]
US 20130163475A1 · Beliveau et al. · 2013 [cited by applicant]
US 20130166703A1 · Hammer et al. · 2013 [cited by applicant]
US 20130227051A1 · Khakpour et al. · 2013 [cited by applicant]
US 20130227519A1 · Maleport · 2013 [cited by applicant]
US 20130290622A1 · Dey et al. · 2013 [cited by applicant]
US 20130315054A1 · Shamis et al. · 2013 [cited by applicant]
US 20130318107A1 · Asaad et al. · 2013 [cited by applicant]
US 20130346814A1 · Zadigian et al. · 2013 [cited by applicant]
US 20140033489A1 · Kawashima · 2014 [cited by applicant]
US 20140040527A1 · Kanigicheria et al. · 2014 [cited by applicant]
US 20140043974A1 · Kwan et al. · 2014 [cited by applicant]
US 20140050002A1 · Sun · 2014 [cited by applicant]
US 20140082302A1 · Rommelmann et al. · 2014 [cited by applicant]
US 20140115571A1 · Wang et al. · 2014 [cited by applicant]
US 20140115666A1 · Garcia Morchon et al. · 2014 [cited by applicant]
US 20140140342A1 · Narad · 2014 [cited by applicant]
US 20140181232A1 · Manula et al. · 2014 [cited by applicant]
US 20140181818A1 · Vincent et al. · 2014 [cited by applicant]
US 20140204943A1 · Palmer · 2014 [cited by applicant]
US 20140233568A1 · Dong · 2014 [cited by applicant]
US 20140241358A1 · Bosshart et al. · 2014 [cited by applicant]
US 20140241359A1 · Bosshart et al. · 2014 [cited by applicant]
US 20140241361A1 · Bosshart et al. · 2014 [cited by applicant]
US 20140241362A1 · Bosshart et al. · 2014 [cited by applicant]
US 20140244966A1 · Bosshart et al. · 2014 [cited by applicant]
US 20140269432A1 · Goyal et al. · 2014 [cited by applicant]
US 20140301192A1 · Lee et al. · 2014 [cited by applicant]
US 20140321473A1 · Chen et al. · 2014 [cited by applicant]
US 20140321476A1 · Yu et al. · 2014 [cited by applicant]
US 20140328180A1 · Kim et al. · 2014 [cited by applicant]
US 20140328344A1 · Bosshart · 2014 [cited by applicant]
US 20140334489A1 · Bosshart et al. · 2014 [cited by applicant]
US 20150003259A1 · Gao · 2015 [cited by applicant]
US 20150009796A1 · Koponen et al. · 2015 [cited by applicant]
US 20150010000A1 · Zhang et al. · 2015 [cited by applicant]
US 20150020060A1 · Bandakka et al. · 2015 [cited by applicant]
US 20150023147A1 · Lee et al. · 2015 [cited by applicant]
US 20150043589A1 · Han et al. · 2015 [cited by applicant]
US 20150081833A1 · Pettit et al. · 2015 [cited by applicant]
US 20150092539A1 · Sivabalan et al. · 2015 [cited by applicant]
US 20150109913A1 · Yamashita · 2015 [cited by applicant]
US 20150110114A1 · Wohlgemuth et al. · 2015 [cited by applicant]
US 20150121355A1 · Chang et al. · 2015 [cited by applicant]
US 20150131666A1 · Kang et al. · 2015 [cited by applicant]
US 20150131667A1 · Ko et al. · 2015 [cited by applicant]
US 20150142932A1 · Hallivuori et al. · 2015 [cited by applicant]
US 20150142991A1 · Zaloom · 2015 [cited by applicant]
US 20150146527A1 · Kishore et al. · 2015 [cited by applicant]
US 20150156288A1 · Lu et al. · 2015 [cited by applicant]
US 20150172198A1 · Levy et al. · 2015 [cited by applicant]
US 20150178395A1 · Tiwari et al. · 2015 [cited by applicant]
US 20150180769A1 · Wang et al. · 2015 [cited by applicant]
US 20150194215A1 · Douglas et al. · 2015 [cited by applicant]
US 20150195206A1 · Memon et al. · 2015 [cited by applicant]
US 20150222560A1 · Kakadia et al. · 2015 [cited by applicant]
US 20150249572A1 · Mack-Crane et al. · 2015 [cited by applicant]
US 20150256465A1 · Mack-Crane et al. · 2015 [cited by applicant]
US 20150271011A1 · Neginhal et al. · 2015 [cited by applicant]
US 20150281125A1 · Koponen et al. · 2015 [cited by applicant]
US 20150295862A1 · Banerjee · 2015 [cited by examiner]
US 20150319086A1 · Tripathi et al. · 2015 [cited by applicant]
US 20150363522A1 · Maurya · 2015 [cited by applicant]
US 20150381418A1 · Fausak et al. · 2015 [cited by applicant]
US 20150381495A1 · Cherian et al. · 2015 [cited by applicant]
US 20160006654A1 · Fernando et al. · 2016 [cited by applicant]
US 20160014028A1 · He · 2016 [cited by examiner]
US 20160014073A1 · Reddy et al. · 2016 [cited by applicant]
US 20160019161A1 · Patel et al. · 2016 [cited by applicant]
US 20160063189A1 · Soon-Shiong et al. · 2016 [cited by applicant]
US 20160094460A1 · Shelar et al. · 2016 [cited by applicant]
US 20160105471A1 · Nunes et al. · 2016 [cited by applicant]
US 20160139892A1 · Atreya et al. · 2016 [cited by applicant]
US 20160149784A1 · Zhang et al. · 2016 [cited by applicant]
US 20160156557A1 · Bosshart et al. · 2016 [cited by applicant]
US 20160173371A1 · Bays · 2016 [cited by applicant]
US 20160173383A1 · Liu et al. · 2016 [cited by applicant]
US 20160188313A1 · Dubal et al. · 2016 [cited by applicant]
US 20160188320A1 · Chang et al. · 2016 [cited by applicant]
US 20160191306A1 · Gasparakis et al. · 2016 [cited by applicant]
US 20160191361A1 · Behera et al. · 2016 [cited by applicant]
US 20160191370A1 · Wood · 2016 [cited by applicant]
US 20160191384A1 · Shelar et al. · 2016 [cited by applicant]
US 20160191406A1 · Xiao et al. · 2016 [cited by applicant]
US 20160191530A1 · Jain et al. · 2016 [cited by applicant]
US 20160197852A1 · Hutchison et al. · 2016 [cited by applicant]
US 20160212012A1 · Young et al. · 2016 [cited by applicant]
US 20160232019A1 · Shah et al. · 2016 [cited by applicant]
US 20160234067A1 · Dolganow et al. · 2016 [cited by applicant]
US 20160234097A1 · Chang · 2016 [cited by applicant]
US 20160234102A1 · Kotalwar et al. · 2016 [cited by applicant]
US 20160234103A1 · Kotalwar et al. · 2016 [cited by applicant]
US 20160234112A1 · Anand · 2016 [cited by examiner]
US 20160241459A1 · Zheng et al. · 2016 [cited by applicant]
US 20160301601A1 · Anand et al. · 2016 [cited by applicant]
US 20160315866A1 · Thapar et al. · 2016 [cited by applicant]
US 20160323243A1 · Levasseur et al. · 2016 [cited by applicant]
US 20160330127A1 · Kim et al. · 2016 [cited by applicant]
US 20160330128A1 · Wang · 2016 [cited by applicant]
US 20160337329A1 · Sood et al. · 2016 [cited by applicant]
US 20160342510A1 · Pani · 2016 [cited by applicant]
US 20160344629A1 · Gray · 2016 [cited by applicant]
US 20160357534A1 · Krishnamoorthi et al. · 2016 [cited by applicant]
US 20160359685A1 · Yadav et al. · 2016 [cited by applicant]
US 20170005951A1 · Labonte et al. · 2017 [cited by applicant]
US 20170013452A1 · Mentze et al. · 2017 [cited by applicant]
US 20170019302A1 · Lapiotis et al. · 2017 [cited by applicant]
US 20170019329A1 · Kozat et al. · 2017 [cited by applicant]
US 20170034082A1 · Pfaff · 2017 [cited by applicant]
US 20170041209A1 · Joshi et al. · 2017 [cited by applicant]
US 20170048144A1 · Liu · 2017 [cited by applicant]
US 20170053012A1 · Levy et al. · 2017 [cited by applicant]
US 20170063690A1 · Bosshart · 2017 [cited by applicant]
US 20170064047A1 · Bosshart · 2017 [cited by applicant]
US 20170070416A1 · Narayanan et al. · 2017 [cited by applicant]
US 20170075692A1 · Naresh et al. · 2017 [cited by applicant]
US 20170085414A1 · Castaldelli et al. · 2017 [cited by applicant]
US 20170085477A1 · Li et al. · 2017 [cited by applicant]
US 20170085479A1 · Wang et al. · 2017 [cited by applicant]
US 20170091258A1 · Rajahalme · 2017 [cited by applicant]
US 20170093707A1 · Kim et al. · 2017 [cited by applicant]
US 20170093986A1 · Kim et al. · 2017 [cited by applicant]
US 20170093987A1 · Kaushalram et al. · 2017 [cited by applicant]
US 20170111275A1 · Li et al. · 2017 [cited by applicant]
US 20170118041A1 · Bhattacharya et al. · 2017 [cited by applicant]
US 20170118042A1 · Bhattacharya et al. · 2017 [cited by applicant]
US 20170126588A1 · Anand et al. · 2017 [cited by applicant]
US 20170134282A1 · Agarwal et al. · 2017 [cited by applicant]
US 20170134310A1 · Koladi et al. · 2017 [cited by applicant]
US 20170142000A1 · Cai et al. · 2017 [cited by applicant]
US 20170142011A1 · Zhang et al. · 2017 [cited by applicant]
US 20170149632A1 · Saltsidis et al. · 2017 [cited by applicant]
US 20170180273A1 · Daly et al. · 2017 [cited by applicant]
US 20170195229A1 · Ulas et al. · 2017 [cited by applicant]
US 20170208015A1 · Volkening et al. · 2017 [cited by applicant]
US 20170220499A1 · Gray · 2017 [cited by applicant]
US 20170222881A1 · Holbrook et al. · 2017 [cited by applicant]
US 20170223575A1 · Duda et al. · 2017 [cited by applicant]
US 20170251077A1 · Eerpini et al. · 2017 [cited by applicant]
US 20170257684A1 · Anand et al. · 2017 [cited by applicant]
US 20170264571A1 · Aibester et al. · 2017 [cited by applicant]
US 20170289034A1 · Bosshart et al. · 2017 [cited by applicant]
US 20180006945A1 · Flajslik et al. · 2018 [cited by applicant]
US 20180006950A1 · Flajslik et al. · 2018 [cited by applicant]
US 20180054385A1 · Dharmapurikar et al. · 2018 [cited by applicant]
US 20180103060A1 · Li et al. · 2018 [cited by applicant]
US 20180115478A1 · Kim et al. · 2018 [cited by applicant]
US 20180124183A1 · Kozat et al. · 2018 [cited by applicant]
US 20180191640A1 · Calderon et al. · 2018 [cited by applicant]
US 20180234340A1 · Kim et al. · 2018 [cited by applicant]
US 20180234355A1 · Kim et al. · 2018 [cited by applicant]
US 20180262424A1 · Roeland et al. · 2018 [cited by applicant]
US 20180287819A1 · Mayer-Wolf et al. · 2018 [cited by applicant]
US 20180316549A1 · Gasparakis et al. · 2018 [cited by applicant]
US 20180375755A1 · Joshi et al. · 2018 [cited by applicant]
US 20190394086A1 · Gasparakis et al. · 2019 [cited by applicant]
US 20200007473A1 · Kim et al. · 2020 [cited by applicant]
US 20200021486A1 · Gasparakis et al. · 2020 [cited by applicant]
US 20200076737A1 · Bosshart · 2020 [cited by applicant]
US 20200084093A1 · Gasparakis et al. · 2020 [cited by applicant]
US 20200099617A1 · Bosshart · 2020 [cited by applicant]
US 20200099618A1 · Bosshart · 2020 [cited by applicant]
US 20200099619A1 · Bosshart · 2020 [cited by applicant]
US 20200228433A1 · Lee · 2020 [cited by applicant]
US 20200244576A1 · Wetterwald et al. · 2020 [cited by applicant]
US 20200267098A1 · Galles · 2020 [cited by applicant]
US 20200280428A1 · Kovacs et al. · 2020 [cited by applicant]
US 20200280518A1 · Lee et al. · 2020 [cited by applicant]
US 20200314219A1 · Watson et al. · 2020 [cited by applicant]
US 20220091992A1 · Shanbhogue et al. · 2022 [cited by applicant]
US 20230231818A1 · Galles et al. · 2023 [cited by applicant]
US 20240080276A1 · Agrawal et al. · 2024 [cited by applicant]
CN 1589551 · 2005 [cited by applicant]
CN 101352012 · 2009 [cited by applicant]
EP 3229424 · 2017 [cited by applicant]
JP 2015080175 · 2015 [cited by applicant]
JP 6127900 · 2017 [cited by applicant]
WO 2013101024 · 2013 [cited by applicant]
WO 2017112165 · 2017 [cited by applicant]
Advisory Action for U.S. Appl. No. 15/835,238, dated Nov. 22, 2019, 3 pages. [cited by applicant]
Advisory Action for U.S. Appl. No. 15/888,054, dated Feb. 10, 2020. [cited by applicant]
Final Office Action for U.S. Appl. No. 15/784,191, dated Feb. 26, 2021. [cited by applicant]
Final Office Action for U.S. Appl. No. 15/784,191, dated May 7, 2020, 13 pages. [cited by applicant]
Final Office Action for U.S. Appl. No. 15/784,192, dated Jun. 1, 2020, 14 pages. [cited by applicant]
Final Office Action for U.S. Appl. No. 15/888,050, dated Dec. 12, 2019. [cited by applicant]
Final Office Action for U.S. Appl. No. 15/888,054, dated Sep. 18, 2019. [cited by applicant]
Final Office Action for U.S. Appl. No. 16/695,044, dated Dec. 20, 2021. [cited by applicant]
Final Office Action for U.S. Appl. No. 16/804,960, dated Apr. 14, 2022. [cited by applicant]
Final Office Action for U.S. Appl. No. 17/134,110 dated Oct. 25, 2022. [cited by applicant]
International Preliminary Report on Patentability for PCT Application No. PCT/US2016/062511, dated Jun. 26, 2018. [cited by applicant]
International Search Report and Written Opinion for PCT Application No. PCT/US2016/062511, dated Feb. 28, 2017. [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 16/569,554, dated Feb. 19, 2021. [cited by applicant]
Non-Final Office Action from U.S. Appl. No. 17/837,864 notified Mar. 16, 2023, 18 pgs. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 15/678,549, filed Aug. 16, 2017, 41 pages, Barefoot Networks, Inc. [cited by applicant]
Non-Published Commonly Owned U.S. Appl. No. 15/784,191, filed Oct. 16, 2017, 36 pages, Barefoot Networks, Inc. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 16/288,074, filed Feb. 27, 2019, 47 pages, Barefoot Networks, Inc. [cited by applicant]
Non-Published Commonly Owned U.S. Appl. No. 15/784,192, filed Oct. 16, 2017, 36 pages, Barefoot Networks, Inc. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 15/678,556, filed Aug. 16, 2017, 42 pages, Barefoot Networks, Inc. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 15/678,565, filed Aug. 16, 2017, 42 pages. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 15/729,555, filed Oct. 10, 2017, 40 pages, Barefoot Networks, Inc. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 15/729,593, filed Oct. 10, 2017, 40 pages, Barefoot Networks, Inc. [cited by applicant]
Non-Published Commonly Owned U.S. Appl. No. 15/784,190, filed Oct. 16, 2017. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 15/835,233, dated Dec. 7, 2017, 36 pages, Barefoot Networks, Inc. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 15/835,235, dated Dec. 7, 2017, 36 pages, Barefoot Networks, Inc. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 15/835,238, filed Dec. 7, 2017, 69 pages, Barefoot Networks, Inc. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 15/835,239, filed Dec. 7, 2017, 69 pages, Barefoot Networks, Inc. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 15/835,242, filed Dec. 7, 2017, 69 pages, Barefoot Networks, Inc. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 15/835,247, filed Dec. 7, 2017, 68 pages, Barefoot Networks, Inc. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 15/835,249, filed Dec. 7, 2017, 69 pages, Barefoot Networks, Inc. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 15/835,250, filed Dec. 7, 2017, 68 pages, Barefoot Networks, Inc. [cited by applicant]
Notice of Allowance for Chinese Patent Application No. 201680075637.4, dated Apr. 1, 2022. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 14/583,664, dated Feb. 28, 2018. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 14/836,850, dated Jun. 20, 2017. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 14/836,855, dated Jun. 30, 2017. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 14/977,810, dated Oct. 20, 2017. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 15/678,549, dated Apr. 8, 2020. [cited by applicant]