Patents by Inventor Patrick Bosshart

Patrick Bosshart has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 12457172
    Abstract: Some embodiments provide a method for processing a packet for a pipeline of a hardware switch. The pipeline, in some embodiments, includes several different stages that match against packet header fields and modify packet header fields. The method receives a packet that includes a set of packet headers. The method then populates, for each packet header in the set of packet headers, (i) a first set of registers with packet header field values of the packet header that are used in the pipeline, and (ii) a second set of registers with packet header field values of the packet header that are not used in the pipeline.
    Type: Grant
    Filed: June 5, 2024
    Date of Patent: October 28, 2025
    Assignee: Barefoot Networks, Inc.
    Inventor: Patrick Bosshart
  • Patent number: 12445542
    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.
    Type: Grant
    Filed: June 21, 2023
    Date of Patent: October 14, 2025
    Assignee: Barefoot Networks, Inc.
    Inventor: Patrick Bosshart
  • Patent number: 12381962
    Abstract: Some embodiments provide a network forwarding IC with packet processing pipelines, at least one of which includes a parser, a set of match-action stages, and a deparser. The parser is configured to receive a packet and generate a PHV including a first number of data containers storing data for the packet. A first match-action stage is configured to receive the PHV from the parser and expand the PHV to a second, larger number of data containers storing data for the packet. Each of a set of intermediate match-action stage is configured to receive the expanded PHV from a previous stage and provide the expanded PHV to a subsequent stage. A final match-action stage is configured to receive the expanded PHV and reduce the PHV to the first number of data containers. The deparser is configured to receive the reduced PHV from the final match-action stage and reconstruct the packet.
    Type: Grant
    Filed: May 23, 2023
    Date of Patent: August 5, 2025
    Assignee: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Jay Evan Scott Peterson, Michael Gregory Ferrara, Michael E. Attig
  • Publication number: 20250097325
    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.
    Type: Application
    Filed: December 3, 2024
    Publication date: March 20, 2025
    Applicant: Barefoot Networks, Inc.
    Inventor: Patrick BOSSHART
  • Publication number: 20250094497
    Abstract: An algorithmic TCAM based ternary lookup method is provided. The method stores entries for ternary lookup into several sub-tables. All entries in each sub-table have a sub-table key that includes the same common portion of the entry. No two sub-tables are associated with the same sub-table key. The method stores the keys in a sub-table keys table in TCAM. Each key has a different priority. The method stores the entries for each sub-table in random access memory. Each entry in a sub-table has a different priority. The method receives a search request to perform a ternary lookup for an input data item. A ternary lookup into the ternary sub-table key table stored in TCAM is performed to retrieve a sub-table index. The method performs a ternary lookup across the entries of the sub-table associated with the retrieved index to identify the highest priority matched entry for the input data item.
    Type: Application
    Filed: December 2, 2024
    Publication date: March 20, 2025
    Applicant: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Michael G. Ferrara, Jay E.S. Peterson
  • Publication number: 20250047596
    Abstract: Some embodiments provide a method for processing a packet for a pipeline of a hardware switch. The pipeline, in some embodiments, includes several different stages that match against packet header fields and modify packet header fields. The method receives a packet that includes a set of packet headers. The method then populates, for each packet header in the set of packet headers, (i) a first set of registers with packet header field values of the packet header that are used in the pipeline, and (ii) a second set of registers with packet header field values of the packet header that are not used in the pipeline.
    Type: Application
    Filed: June 5, 2024
    Publication date: February 6, 2025
    Applicant: Barefoot Networks, Inc.
    Inventor: Patrick Bosshart
  • Patent number: 12197509
    Abstract: An algorithmic TCAM based ternary lookup method is provided. The method stores entries for ternary lookup into several sub-tables. All entries in each sub-table have a sub-table key that includes the same common portion of the entry. No two sub-tables are associated with the same sub-table key. The method stores the keys in a sub-table keys table in TCAM. Each key has a different priority. The method stores the entries for each sub-table in random access memory. Each entry in a sub-table has a different priority. The method receives a search request to perform a ternary lookup for an input data item. A ternary lookup into the ternary sub-table key table stored in TCAM is performed to retrieve a sub-table index. The method performs a ternary lookup across the entries of the sub-table associated with the retrieved index to identify the highest priority matched entry for the input data item.
    Type: Grant
    Filed: December 23, 2022
    Date of Patent: January 14, 2025
    Assignee: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Michael G. Ferrara, Jay E. S. Peterson
  • Patent number: 12040976
    Abstract: Some embodiments provide a method for processing a packet for a pipeline of a hardware switch. The pipeline, in some embodiments, includes several different stages that match against packet header fields and modify packet header fields. The method receives a packet that includes a set of packet headers. The method then populates, for each packet header in the set of packet headers, (i) a first set of registers with packet header field values of the packet header that are used in the pipeline, and (ii) a second set of registers with packet header field values of the packet header that are not used in the pipeline.
    Type: Grant
    Filed: July 7, 2022
    Date of Patent: July 16, 2024
    Assignee: BAREFOOT NETWORKS, INC
    Inventor: Patrick Bosshart
  • Patent number: 11811902
    Abstract: A method of identifying a path for forwarding a packet by a packet forwarding element. The method receives a packet that includes a plurality of fields that identify a particular packet flow. The method computes a plurality of hash values from the plurality of fields that identify the particular packet flow. Each hash value computed using a different hash algorithm. Based on the plurality of hash values, the method identifies a plurality of paths configured to forward the packets of the particular flow. The method identifies the status of each of the plurality of paths. Each path status identifies whether or not the corresponding path is operational. The method selects an operational path in the plurality of paths to forward the packet based on a priority scheme using said plurality of identified status bits.
    Type: Grant
    Filed: January 19, 2021
    Date of Patent: November 7, 2023
    Assignee: Barefoot Networks, Inc.
    Inventor: Patrick Bosshart
  • Publication number: 20230344922
    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.
    Type: Application
    Filed: June 21, 2023
    Publication date: October 26, 2023
    Applicant: Barefoot Networks, Inc.
    Inventor: Patrick BOSSHART
  • Publication number: 20230300087
    Abstract: Some embodiments provide a network forwarding IC with packet processing pipelines, at least one of which includes a parser, a set of match-action stages, and a deparser. The parser is configured to receive a packet and generate a PHV including a first number of data containers storing data for the packet. A first match-action stage is configured to receive the PHV from the parser and expand the PHV to a second, larger number of data containers storing data for the packet. Each of a set of intermediate match-action stage is configured to receive the expanded PHV from a previous stage and provide the expanded PHV to a subsequent stage. A final match-action stage is configured to receive the expanded PHV and reduce the PHV to the first number of data containers. The deparser is configured to receive the reduced PHV from the final match-action stage and reconstruct the packet.
    Type: Application
    Filed: May 23, 2023
    Publication date: September 21, 2023
    Applicant: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Jay Evan Scott Peterson, Michael Gregory Ferrara, Michael E. Attig
  • Patent number: 11700212
    Abstract: Some embodiments provide a network forwarding IC with packet processing pipelines, at least one of which includes a parser, a set of match-action stages, and a deparser. The parser is configured to receive a packet and generate a PHV including a first number of data containers storing data for the packet. A first match-action stage is configured to receive the PHV from the parser and expand the PHV to a second, larger number of data containers storing data for the packet. Each of a set of intermediate match-action stage is configured to receive the expanded PHV from a previous stage and provide the expanded PHV to a subsequent stage. A final match-action stage is configured to receive the expanded PHV and reduce the PHV to the first number of data containers. The deparser is configured to receive the reduced PHV from the final match-action stage and reconstruct the packet.
    Type: Grant
    Filed: October 5, 2021
    Date of Patent: July 11, 2023
    Assignee: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Jay Evan Scott Peterson, Michael Gregory Ferrara, Michael E. Attig
  • Patent number: 11687594
    Abstract: An algorithmic TCAM based ternary lookup method is provided. The method stores entries for ternary lookup into several sub-tables. All entries in each sub-table have a sub-table key that includes the same common portion of the entry. No two sub-tables are associated with the same sub-table key. The method stores the keys in a sub-table keys table in TCAM. Each key has a different priority. The method stores the entries for each sub-table in random access memory. Each entry in a sub-table has a different priority. The method receives a search request to perform a ternary lookup for an input data item. A ternary lookup into the ternary sub-table key table stored in TCAM is performed to retrieve a sub-table index. The method performs a ternary lookup across the entries of the sub-table associated with the retrieved index to identify the highest priority matched entry for the input data item.
    Type: Grant
    Filed: April 12, 2019
    Date of Patent: June 27, 2023
    Assignee: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Michael G. Ferrara, Jay E. S. Peterson
  • Publication number: 20230127391
    Abstract: An algorithmic TCAM based ternary lookup method is provided. The method stores entries for ternary lookup into several sub-tables. All entries in each sub-table have a sub-table key that includes the same common portion of the entry. No two sub-tables are associated with the same sub-table key. The method stores the keys in a sub-table keys table in TCAM. Each key has a different priority. The method stores the entries for each sub-table in random access memory. Each entry in a sub-table has a different priority. The method receives a search request to perform a ternary lookup for an input data item. A ternary lookup into the ternary sub-table key table stored in TCAM is performed to retrieve a sub-table index. The method performs a ternary lookup across the entries of the sub-table associated with the retrieved index to identify the highest priority matched entry for the input data item.
    Type: Application
    Filed: December 23, 2022
    Publication date: April 27, 2023
    Applicant: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Michael G. Ferrara, Jay E.S. Peterson
  • Patent number: 11503141
    Abstract: Some embodiments provide a network forwarding integrated circuit (IC) that includes at least one packet processing pipeline. The packet processing pipeline includes multiple match-action stages, at least one of which includes a stateful processing unit that operates at a line rate of the network forwarding IC. The stateful processing unit is configured to receive data stored in a memory location associated with a stateful table of the match-action stage. The data includes a set of values. The stateful processing unit is further configured to identify one of a maximum value and a minimum value from the set of values, and to output the identified value for use by a next match-action stage.
    Type: Grant
    Filed: December 7, 2017
    Date of Patent: November 15, 2022
    Assignee: Barefoot Networks, Inc.
    Inventors: Jay Evan Scott Peterson, Michael Gregory Ferrara, Patrick Bosshart, Changhoon Kim, Remy Chang
  • Publication number: 20220345405
    Abstract: Some embodiments provide a method for processing a packet for a pipeline of a hardware switch. The pipeline, in some embodiments, includes several different stages that match against packet header fields and modify packet header fields. The method receives a packet that includes a set of packet headers. The method then populates, for each packet header in the set of packet headers, (i) a first set of registers with packet header field values of the packet header that are used in the pipeline, and (ii) a second set of registers with packet header field values of the packet header that are not used in the pipeline.
    Type: Application
    Filed: July 7, 2022
    Publication date: October 27, 2022
    Applicant: Barefoot Networks, Inc.
    Inventor: Patrick Bosshart
  • Publication number: 20220279055
    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.
    Type: Application
    Filed: January 7, 2022
    Publication date: September 1, 2022
    Inventor: Patrick BOSSHART
  • Patent number: 11425038
    Abstract: Some embodiments provide a method for processing a packet for a pipeline of a hardware switch. The pipeline, in some embodiments, includes several different stages that match against packet header fields and modify packet header fields. The method receives a packet that includes a set of packet headers. The method then populates, for each packet header in the set of packet headers, (i) a first set of registers with packet header field values of the packet header that are used in the pipeline, and (ii) a second set of registers with packet header field values of the packet header that are not used in the pipeline.
    Type: Grant
    Filed: November 25, 2019
    Date of Patent: August 23, 2022
    Assignee: Barefoot Networks, Inc.
    Inventor: Patrick Bosshart
  • Patent number: 11425039
    Abstract: Some embodiments provide a method for processing a packet for a pipeline of a hardware switch. The pipeline, in some embodiments, includes several different stages that match against packet header fields and modify packet header fields. The method receives a packet that includes a set of packet headers. The method then populates, for each packet header in the set of packet headers, (i) a first set of registers with packet header field values of the packet header that are used in the pipeline, and (ii) a second set of registers with packet header field values of the packet header that are not used in the pipeline.
    Type: Grant
    Filed: November 25, 2019
    Date of Patent: August 23, 2022
    Assignee: Barefoot Networks, Inc.
    Inventor: Patrick Bosshart
  • Patent number: 11411870
    Abstract: Some embodiments provide a method for processing a packet for a pipeline of a hardware switch. The pipeline, in some embodiments, includes several different stages that match against packet header fields and modify packet header fields. The method receives a packet that includes a set of packet headers. The method then populates, for each packet header in the set of packet headers, (i) a first set of registers with packet header field values of the packet header that are used in the pipeline, and (ii) a second set of registers with packet header field values of the packet header that are not used in the pipeline.
    Type: Grant
    Filed: September 17, 2019
    Date of Patent: August 9, 2022
    Assignee: Barefoot Networks, Inc.
    Inventor: Patrick Bosshart