Configuring a switch for extracting packet header fields

US12445542B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12445542-B2
Application numberUS-202318212546-A
CountryUS
Kind codeB2
Filing dateJun 21, 2023
Priority dateAug 26, 2015
Publication dateOct 14, 2025
Grant dateOct 14, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • Header conversion, routing tables or routing tags · CPC title

  • Address table lookup; Address filtering · CPC title

  • H04L69/22Primary

    Parsing or analysis of headers · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12445542B2 cover?
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 instruct…
Who is the assignee on this patent?
Barefoot Networks Inc
What technology area does this patent fall under?
Primary CPC classification H04L69/22. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Oct 14 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).