Apparatus and method for transmitting packet
US-2015131666-A1 · May 14, 2015 · US
US12445542B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12445542-B2 |
| Application number | US-202318212546-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 21, 2023 |
| Priority date | Aug 26, 2015 |
| Publication date | Oct 14, 2025 |
| Grant date | Oct 14, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 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 w
Header conversion, routing tables or routing tags · CPC title
Address table lookup; Address filtering · CPC title
Parsing or analysis of headers · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.