Patents Assigned to BAREFOOT NETWORKS, INC.
-
Publication number: 20250097325Abstract: 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: ApplicationFiled: December 3, 2024Publication date: March 20, 2025Applicant: Barefoot Networks, Inc.Inventor: Patrick BOSSHART
-
Publication number: 20250094497Abstract: 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: ApplicationFiled: December 2, 2024Publication date: March 20, 2025Applicant: Barefoot Networks, Inc.Inventors: Patrick Bosshart, Michael G. Ferrara, Jay E.S. Peterson
-
Patent number: 12255835Abstract: Some embodiments of the invention provide a forwarding element that can be configured through in-band data-plane messages from a remote controller that is a physically separate machine from the forwarding element. The forwarding element of some embodiments has data plane circuits that include several configurable message-processing stages, several storage queues, and a data-plane configurator. A set of one or more message-processing stages of the data plane are configured (1) to process configuration messages received by the data plane from the remote controller and (2) to store the configuration messages in a set of one or more storage queues. The data-plane configurator receives the configuration messages stored in the set of storage queues and configures one or more of the configurable message-processing stages based on configuration data in the configuration messages.Type: GrantFiled: December 8, 2022Date of Patent: March 18, 2025Assignee: Barefoot Networks, Inc.Inventors: Changhoon Kim, Xiaozhou Li, Anurag Agrawal, Julianne Zhu
-
Patent number: 12244519Abstract: A method of multicasting packets by a forwarding element that includes several packet replicators and several egress pipelines. Each packet replicator receives a data structure associated with a multicast packet that identifies a multicast group. Each packet replicator identifies a first physical egress port of a first egress pipeline for sending the multicast packet to a member of the multicast group. The first physical egress port is a member of LAG. Each packet replicator determines that the first physical egress port is not operational and identifies a second physical port in the LAG for sending the multicast packet to the member of the multicast group. When a packet replicator is connected to the same egress pipeline as the second physical egress, the packet replicator provides the identification of the second physical egress port to the egress pipeline to send the packet to the multicast member. Otherwise the packet replicator drops the packet.Type: GrantFiled: August 1, 2023Date of Patent: March 4, 2025Assignee: Barefoot Networks, Inc.Inventors: Anurag Agrawal, Julianne Zhu
-
Publication number: 20250047596Abstract: 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: ApplicationFiled: June 5, 2024Publication date: February 6, 2025Applicant: Barefoot Networks, Inc.Inventor: Patrick Bosshart
-
Patent number: 12206599Abstract: Some embodiments of the invention provide a forwarding element (e.g., a switch, a router, etc.) that has one or more data plane, message-processing pipelines with key-value processing circuits. The forwarding element's data plane key-value circuits allow the forwarding element to perform key-value services that would otherwise have to be performed by data compute nodes connected by the network fabric that includes the forwarding element. In some embodiments, the key-value (KV) services of the forwarding element and other similar forwarding elements supplement the key-value services of a distributed set of key-value servers by caching a subset of the most commonly used key-value pairs in the forwarding elements that connect the set of key-value servers with their client applications.Type: GrantFiled: February 7, 2024Date of Patent: January 21, 2025Assignee: Barefoot Networks, Inc.Inventors: Xiaozhou Li, Jeongkeun Lee, Changhoon Kim, John Nathan Foster
-
Patent number: 12197509Abstract: 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: GrantFiled: December 23, 2022Date of Patent: January 14, 2025Assignee: Barefoot Networks, Inc.Inventors: Patrick Bosshart, Michael G. Ferrara, Jay E. S. Peterson
-
Publication number: 20240422059Abstract: Some embodiments of the invention provide a network forwarding element that can be dynamically reconfigured to adjust its data message processing to stay within a desired operating temperature or power consumption range. In some embodiments, the network forwarding element includes (1) a data-plane forwarding circuit (“data plane”) to process data tuples associated with data messages received by the IC, and (2) a control-plane circuit (“control plane”) for configuring the data plane forwarding circuit. The data plane includes several data processing stages to process the data tuples.Type: ApplicationFiled: June 24, 2024Publication date: December 19, 2024Applicant: Barefoot Networks, Inc.Inventor: Remy Chang
-
Publication number: 20240388542Abstract: Some embodiments provide a method for an ingress packet processing pipeline of a network forwarding integrated circuit (IC). The ingress packet processing pipeline is for receiving packets from a port of the network forwarding IC and processing the packets to assign different packets to different queues of a traffic management unit of the network forwarding IC. The method receives state data from the traffic management unit. The method stores the state data in a stateful table. The method assigns a particular packet to a particular queue based on the state data received from the traffic management unit and stored in the stateful table.Type: ApplicationFiled: July 30, 2024Publication date: November 21, 2024Applicant: Barefoot Networks, Inc.Inventors: Yi Li, Michael Feng, Anurag Agrawal, Jeongkeun Lee, Changhoon Kim, Remy Chang
-
Patent number: 12088504Abstract: Some embodiments provide a method for an ingress packet processing pipeline of a network forwarding integrated circuit (IC). The ingress packet processing pipeline is for receiving packets from a port of the network forwarding IC and processing the packets to assign different packets to different queues of a traffic management unit of the network forwarding IC. The method receives state data from the traffic management unit. The method stores the state data in a stateful table. The method assigns a particular packet to a particular queue based on the state data received from the traffic management unit and stored in the stateful table.Type: GrantFiled: June 27, 2023Date of Patent: September 10, 2024Assignee: Barefoot Networks, Inc.Inventors: Yi Li, Michael Feng, Anurag Agrawal, Jeongkeun Lee, Changhoon Kim, Remy Chang
-
Publication number: 20240267343Abstract: Some embodiments of the invention provide a forwarding element (e.g., a switch, a router, etc.) that has one or more data plane, message-processing pipelines with key-value processing circuits. The forwarding element's data plane key-value circuits allow the forwarding element to perform key-value services that would otherwise have to be performed by data compute nodes connected by the network fabric that includes the forwarding element. In some embodiments, the key-value (KV) services of the forwarding element and other similar forwarding elements supplement the key-value services of a distributed set of key-value servers by caching a subset of the most commonly used key-value pairs in the forwarding elements that connect the set of key-value servers with their client applications.Type: ApplicationFiled: February 7, 2024Publication date: August 8, 2024Applicant: Barefoot Networks, Inc.Inventors: Xiaozhou Li, Jeongkeun Lee, Changhoon Kim, John Nathan Foster
-
Patent number: 12052138Abstract: Some embodiments of the invention provide a network forwarding element that can be dynamically reconfigured to adjust its data message processing to stay within a desired operating temperature or power consumption range. In some embodiments, the network forwarding element includes (1) a data-plane forwarding circuit (“data plane”) to process data tuples associated with data messages received by the IC, and (2) a control-plane circuit (“control plane”) for configuring the data plane forwarding circuit. The data plane includes several data processing stages to process the data tuples. The data plane also includes an idle-signal injecting circuit that receives from the control plane configuration data that the control plane generates based on the IC's temperature. Based on the received configuration data, the idle-signal injecting circuit generates idle control signals for the data processing stages.Type: GrantFiled: May 10, 2023Date of Patent: July 30, 2024Assignee: Barefoot Networks, Inc.Inventor: Remy Chang
-
Patent number: 12040976Abstract: 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: GrantFiled: July 7, 2022Date of Patent: July 16, 2024Assignee: BAREFOOT NETWORKS, INCInventor: Patrick Bosshart
-
Patent number: 11929944Abstract: Some embodiments of the invention provide a forwarding element (e.g., a switch, a router, etc.) that has one or more data plane, message-processing pipelines with key-value processing circuits. The forwarding element's data plane key-value circuits allow the forwarding element to perform key-value services that would otherwise have to be performed by data compute nodes connected by the network fabric that includes the forwarding element. In some embodiments, the key-value (KV) services of the forwarding element and other similar forwarding elements supplement the key-value services of a distributed set of key-value servers by caching a subset of the most commonly used key-value pairs in the forwarding elements that connect the set of key-value servers with their client applications.Type: GrantFiled: July 29, 2022Date of Patent: March 12, 2024Assignee: Barefoot Networks, Inc.Inventors: Xiaozhou Li, Jeongkeun Lee, Changhoon Kim, John Nathan Foster
-
Publication number: 20240073158Abstract: A method of multicasting packets by a forwarding element that includes several packet replicators and several egress pipelines. Each packet replicator receives a data structure associated with a multicast packet that identifies a multicast group. Each packet replicator identifies a first physical egress port of a first egress pipeline for sending the multicast packet to a member of the multicast group. The first physical egress port is a member of LAG. Each packet replicator determines that the first physical egress port is not operational and identifies a second physical port in the LAG for sending the multicast packet to the member of the multicast group. When a packet replicator is connected to the same egress pipeline as the second physical egress, the packet replicator provides the identification of the second physical egress port to the egress pipeline to send the packet to the multicast member. Otherwise the packet replicator drops the packet.Type: ApplicationFiled: August 1, 2023Publication date: February 29, 2024Applicant: Barefoot Networks, Inc.Inventors: Anurag AGRAWAL, Julianne ZHU
-
Publication number: 20240056348Abstract: A method of identifying a failed egress path of a hardware forwarding element. The method detects an egress link failure in a data plane of the forwarding element. The method generates a link failure signal in the data plane identifying the failed egress link. The method generates a packet that includes the identification of the egress link based on the link failure signal. The method sets the status of the egress link to failed in the data plane based on the identification of the egress link in the generated packet.Type: ApplicationFiled: October 26, 2023Publication date: February 15, 2024Applicant: Barefoot Networks, Inc.Inventors: Chaitanya KODEBOYINA, John CRUZ, Steven LICKING, Michael E. ATTIG
-
Publication number: 20230412520Abstract: Some embodiments provide a method for an ingress packet processing pipeline of a network forwarding integrated circuit (IC). The ingress packet processing pipeline is for receiving packets from a port of the network forwarding IC and processing the packets to assign different packets to different queues of a traffic management unit of the network forwarding IC. The method receives state data from the traffic management unit. The method stores the state data in a stateful table. The method assigns a particular packet to a particular queue based on the state data received from the traffic management unit and stored in the stateful table.Type: ApplicationFiled: June 27, 2023Publication date: December 21, 2023Applicant: Barefoot Networks, Inc.Inventors: Yi Li, Michael Feng, Anurag Agrawal, Jeongkeun Lee, Changhoon Kim, Remy Chang
-
Patent number: 11838318Abstract: Some embodiments of the invention provide a data-plane forwarding circuit (data plane) that can be configured to provide protection from a SYN-flood denial of service attack by validating a source of a SYN data messages before allowing future messages to be forwarded to a protected server. To perform its forwarding operations, the data plane includes several data message processing stages that are configured to process the data tuples associated with the data messages received by the data plane. In some embodiments, parts of the data plane message-processing stages are also configured to operate as a connection-validation circuit that includes (1) a SYN-processing circuit to process SYN data messages received by the data plane, and (2) an ACK-processing circuit to process ACK data messages received by the data plane.Type: GrantFiled: August 31, 2021Date of Patent: December 5, 2023Assignee: Barefoot Networks, Inc.Inventors: Shruthi Krishnan, Junggun Lee, Changhoon Kim
-
Publication number: 20230388184Abstract: Some embodiments of the invention provide a network forwarding element that can be dynamically reconfigured to adjust its data message processing to stay within a desired operating temperature or power consumption range. In some embodiments, the network forwarding element includes (1) a data-plane forwarding circuit (“data plane”) to process data tuples associated with data messages received by the IC, and (2) a control-plane circuit (“control plane”) for configuring the data plane forwarding circuit. The data plane includes several data processing stages to process the data tuples. The data plane also includes an idle-signal injecting circuit that receives from the control plane configuration data that the control plane generates based on the IC's temperature. Based on the received configuration data, the idle-signal injecting circuit generates idle control signals for the data processing stages.Type: ApplicationFiled: May 10, 2023Publication date: November 30, 2023Applicant: Barefoot Networks, Inc.Inventor: Remy Chang
-
Patent number: 11811902Abstract: 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: GrantFiled: January 19, 2021Date of Patent: November 7, 2023Assignee: Barefoot Networks, Inc.Inventor: Patrick Bosshart