IP Library Patent Application 18967234
Patent Application
App. No. 18/967,234

CONFIGURING A SWITCH FOR EXTRACTING PACKET HEADER FIELDS

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 None
App. No.
18/967,234
Filed
Dec 3, 2024
Art Unit
2414
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 (102)

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:

at least one configurable pipeline to process packet data received by and/or to be output from the integrated circuit; and

a queuing system to queue, at least in part, the packet data processed by the at least one pipeline;

wherein:

the at least one pipeline is configurable to comprise match-action stages and/or at least one other stage;

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

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

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

the one or more actions and the match action table data are to be configured based upon the configuration data to be provided to the integrated circuit;

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 (1) modified packet header data generated by the at least one of the match-action stages and (2) at least one other set of packet header field data; and

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

2 . The integrated circuit of claim 1 , 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.

3 . The integrated circuit of claim 1 , wherein:

the actions are also configurable to comprise:

address modification; and

packet data drop.

4 . The integrated circuit of claim 1 , wherein:

the configuration data is configurable to instruct the at least one configurable pipeline to perform packet data parsing.

5 . Integrated circuit for use in packet switching-related operations in a network, the integrated circuit being configurable to be used in a hardware switch, the packet switching- related operations being programmable based upon configuration data to be received by the integrated circuit, the integrated circuit comprising:

configurable pipelines to process packet data received by and to be output from the integrated circuit; and

a shared queuing system to queue, at least in part, the packet data processed by the configurable pipelines;

wherein:

the configurable pipelines are configurable to comprise match-action stages and at least one deparser stage;

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

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

the match action table data is configurable to comprise ternary content addressable memory (TCAM) table data to be stored in TCAM;

the one or more actions and the match action table data are to be configured based upon the configuration data to be provided to the integrated circuit;

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

the at least one deparser stage is to generate the output packet data based upon (1) modified packet header data generated by the at least one of the match-action stages and (2) at least one other set of packet header field data; and

the at least one other set of packet header field data is unavailable for match-action stage processing.

6 . The integrated circuit of claim 5 , wherein:

the one or more actions are also configurable to comprise:

address modification; and

packet data drop.

7 . The integrated circuit of claim 5 , wherein:

the configuration data is configurable to instruct at least one of the configurable pipelines to perform packet data parsing.

8 . 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:

configuring, based upon the configuration data, at least one configurable pipeline of the integrated circuit to process packet data received by and/or to be output from the integrated circuit; and

configuring, based upon the configuration data, a queuing system of the integrated circuit to queue, at least in part, the packet data processed by the at least one pipeline;

wherein:

the at least one pipeline is configurable to comprise match-action stages and/or at least one other stage;

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

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

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

the one or more actions and the match action table data are to be configured based upon the configuration data to be provided to the integrated circuit;

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 (1) modified packet header data generated by the at least one of the match-action stages and (2) at least one other set of packet header field data; and

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

9 . The at least one non-transitory machine-readable storage medium of claim 8 , 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.

10 . 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.

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

the configuration data is configurable to instruct the at least one configurable pipeline to perform packet data parsing.

12 . 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, 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 for performance of operations comprising:

configuring, based upon the configuration data, multiple pipelines of the integrated circuit to process packet data received by and to be output from the integrated circuit; and

configuring, based upon the configuration data, a shared queuing system of the integrated circuit to queue, at least in part, the packet data processed by the multiple pipelines;

wherein:

the multiple pipelines are configurable to comprise match-action stages and at least one deparser stage;

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

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

the match action table data is configurable to comprise ternary content addressable memory (TCAM) table data to be stored in TCAM;

the one or more actions and the match action table data are to be configured based upon the configuration data to be provided to the integrated circuit;

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

the at least one deparser stage is to generate the output packet data based upon (1) modified packet header data generated by the at least one of the match-action stages and (2) at least one other set of packet header field data; and

the at least one other set of packet header field data is unavailable for match-action stage processing.

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

the one or more actions are also configurable to comprise:

address modification; and

packet data drop.

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

the configuration data is configurable to instruct at least one of the multiple pipelines to perform packet data parsing.

15 . A network switch configurable to be used in association with ternary content addressable memory (TCAM), the network switch being for use in a network, the network 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:

at least one configurable pipeline to process packet data received by and/or to be output from the integrated circuit; and

a queuing system to queue, at least in part, the packet data processed by the at least one pipeline;

wherein:

the at least one pipeline is configurable to comprise match-action stages and/or at least one other stage;

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

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

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

the one or more actions and the match action table data are to be configured based upon the configuration data to be provided to the integrated circuit;

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 (1) modified packet header data generated by the at least one of the match-action stages and (2) at least one other set of packet header field data; and

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

16 . The network switch of claim 15 , 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.

17 . The network switch of claim 15 , wherein:

the actions are also configurable to comprise:

address modification; and

packet data drop.

18 . The network switch of claim 15 , wherein:

the configuration data is configurable to instruct the at least one configurable pipeline to perform packet data parsing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2026
From: BAREFOOT NETWORKS, INC.
To: INTEL CORPORATION
Reel/Frame 075834/0019 →