9825862

Packet Header Field Extraction

PublishedNovember 21, 2017
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A method for processing a packet for a pipeline of a hardware switch, the pipeline comprising a plurality of stages that match against packet header fields and modify packet header fields, the method comprising: receiving a packet comprising a set of packet headers; for each packet header in the set of packet headers: populating a first set of registers with packet header field values of the packet header that are used in the pipeline; and populating a second set of registers with packet header field values of the packet header that are not used in the pipeline.

Plain English Translation

A method for processing network packets in a hardware switch pipeline that contains multiple stages for matching and modifying packet headers. The method involves receiving a packet with a set of headers. For each header, the method populates two sets of registers: one set with the header field values that are used in the switch pipeline stages, and another set with header field values that are not used by the pipeline. This allows efficient access to relevant header data during packet processing.

Claim 2

Original Legal Text

2. The method of claim 1 , wherein the pipeline comprises one of an ingress pipeline and an egress pipeline of the hardware switch.

Plain English Translation

The packet processing method described above, where the hardware switch pipeline is specifically either the ingress pipeline (handling incoming packets) or the egress pipeline (handling outgoing packets) of the switch.

Claim 3

Original Legal Text

3. The method of claim 1 , wherein the pipeline comprises a parser, a match-action unit (MAU), and a deparser, wherein the first set of registers is delivered to the MAU for further processing and the second set of registers is delivered directly to the deparser without being processed by the MAU.

Plain English Translation

The packet processing method described above involves a pipeline consisting of a parser, a match-action unit (MAU), and a deparser. The first set of registers (containing header fields used in the pipeline) is sent to the MAU for further processing (matching and actions). The second set of registers (containing unused header fields) is sent directly to the deparser, bypassing the MAU. This optimizes processing by only subjecting relevant header fields to match-action operations.

Claim 4

Original Legal Text

4. The method of claim 3 , wherein the MAU comprises a set of match-action stages, each of which comprises a set of match tables against which at least a subset of the packet header field values stored in the first set of registers is matched.

Plain English Translation

In the packet processing method using a parser, MAU, and deparser, as described above, the MAU comprises a series of match-action stages. Each stage contains match tables against which at least a portion of the header field values stored in the first set of registers (used fields) are compared. This enables the switch to make forwarding and modification decisions based on these header field values.

Claim 5

Original Legal Text

5. The method of claim 4 , wherein each of the match-action stages of the MAU further comprises a set of action entries and an action engine for performing a set of actions specified by an action entry that corresponds to a match entry of the set of match tables of the match-action stage.

Plain English Translation

In the packet processing method using a MAU with match-action stages, as described above, each match-action stage also includes action entries and an action engine. When a match occurs against a match table entry, the corresponding action entry specifies a set of actions that the action engine performs on the packet.

Claim 6

Original Legal Text

6. The method of claim 5 , wherein the set of actions comprises modifying one or more of the header field values stored in the first set of registers.

Plain English Translation

In the packet processing method using a MAU with match-action stages, as described above, the set of actions performed by the action engine includes modifying one or more of the header field values stored in the first set of registers (the header fields used by the pipeline). This allows the switch to alter packet headers based on match results.

Claim 7

Original Legal Text

7. The method of claim 1 , wherein for a particular packet, only a first subset of the packet header field values stored in the first set of registers are used in the pipeline.

Plain English Translation

In the packet processing method described above, for any given packet, only a subset of the header field values stored in the first register set (the "used" fields) are actually used by the switch pipeline. Some of the fields in the "used" set may not be relevant for every packet.

Claim 8

Original Legal Text

8. The method of claim 7 , wherein a second subset of the packet header field values stored in the first set of registers are not used for the particular packet, but used for other packets.

Plain English Translation

In the packet processing method where only a subset of "used" header fields are used, as described above, some header field values stored in the first set of registers (marked as "used") that are not used for a specific packet are used for processing other packets. This means the register set is populated with potentially relevant fields, even if not all are always relevant.

Claim 9

Original Legal Text

9. The method of claim 7 , wherein a particular packet header field value is used in the pipeline when either (i) a match entry matches against the packet header field value or (ii) an action entry modifies the packet header field value.

Plain English Translation

In the packet processing method where only a subset of "used" header fields are used, as described above, a particular header field value is considered "used" in the pipeline if it is either used for matching against a match table entry, or if an action entry modifies the value of that header field. These two criteria determine whether a field is placed in the "used" register set.

Claim 10

Original Legal Text

10. The method of claim 1 , wherein the first set of registers are populated with values of different packet header fields for a first packet than for a second packet based on the values of a particular packet header field in the packet headers of the first and second packets.

Plain English Translation

In the packet processing method described above, the first set of registers ("used" fields) is populated with different header field values for different packets. The selection of which header fields to include in the first set varies based on the value of a specific header field present in the packet headers. This allows for dynamic selection of relevant header fields.

Claim 11

Original Legal Text

11. The method of claim 10 , wherein the particular packet header field is the EtherType field of Ethernet headers.

Plain English Translation

In the packet processing method where the selection of "used" header fields varies, as described above, the specific header field used to determine which other header fields to include in the first set of registers is the EtherType field of Ethernet headers. The EtherType value indicates the type of payload and thus determines which subsequent headers are present and relevant.

Claim 12

Original Legal Text

12. The method of claim 1 further comprising, for each of at least a subset of the packet headers, determining a format of a next packet header by matching a value of a particular packet header field of the packet header against a set of TCAM entries.

Plain English Translation

The packet processing method described above further comprises determining the format of the next packet header for at least some of the packet headers by matching a specific header field value of the current packet header against a set of TCAM (ternary content-addressable memory) entries. This allows the system to dynamically parse variable-length or stacked headers.

Claim 13

Original Legal Text

13. A non-transitory machine readable medium storing a program which when executed by at least one processing unit processes a packet for a pipeline of a hardware switch, the pipeline comprising a plurality of stages that match against packet header fields and modify packet header fields, the program comprising sets of instructions for: receiving a packet comprising a set of packet headers; for each packet header in the set of packet headers: populating a first set of registers with packet header field values of the packet header that are used in the pipeline; and populating a second set of registers with packet header field values of the packet header that are not used in the pipeline.

Plain English Translation

A non-transitory machine-readable medium stores a program for processing network packets in a hardware switch pipeline. The pipeline contains multiple stages for matching and modifying packet headers. The program, when executed, receives a packet with headers. For each header, it populates two sets of registers: one set with the header field values that are used in the switch pipeline stages, and another set with header field values that are not used by the pipeline. This enables efficient access to relevant header data.

Claim 14

Original Legal Text

14. The machine readable medium of claim 13 , wherein the pipeline comprises one of an ingress pipeline and an egress pipeline of the hardware switch.

Plain English Translation

The machine-readable medium described above, where the hardware switch pipeline is specifically either the ingress pipeline (handling incoming packets) or the egress pipeline (handling outgoing packets) of the switch.

Claim 15

Original Legal Text

15. The machine readable medium of claim 13 , wherein the pipeline comprises a parser, a match-action unit (MAU), and a deparser, wherein the program further comprises sets of instructions for: delivering the first set of registers to the MAU for further processing; and delivering the second set of registers directly to the deparser without having the MAU process the second set.

Plain English Translation

The machine-readable medium described above involves a pipeline consisting of a parser, a match-action unit (MAU), and a deparser. The program delivers the first set of registers (containing header fields used in the pipeline) to the MAU for further processing. The second set of registers (containing unused header fields) is sent directly to the deparser, bypassing the MAU. This optimizes processing by only subjecting relevant header fields to match-action operations.

Claim 16

Original Legal Text

16. The machine readable medium of claim 15 , wherein the MAU comprises a set of match-action stages, each of which comprises a set of match tables against which at least a subset of the packet header field values stored in the first set of registers is matched.

Plain English Translation

In the machine-readable medium using a parser, MAU, and deparser, as described above, the MAU comprises a series of match-action stages. Each stage contains match tables against which at least a portion of the header field values stored in the first set of registers (used fields) are compared.

Claim 17

Original Legal Text

17. The machine readable medium of claim 16 , wherein each of the match-action stages of the MAU further comprises a set of action entries and an action engine for performing a set of actions specified by an action entry that corresponds to a match entry of the set of match tables of the match-action stage.

Plain English Translation

In the machine-readable medium using a MAU with match-action stages, as described above, each match-action stage also includes action entries and an action engine. When a match occurs against a match table entry, the corresponding action entry specifies a set of actions that the action engine performs on the packet.

Claim 18

Original Legal Text

18. The machine readable medium of claim 17 , wherein the set of actions comprises modifying one or more of the header field values stored in the first set of registers.

Plain English Translation

In the machine-readable medium using a MAU with match-action stages, as described above, the set of actions performed by the action engine includes modifying one or more of the header field values stored in the first set of registers (the header fields used by the pipeline).

Claim 19

Original Legal Text

19. The machine readable medium of claim 13 , wherein for a particular packet, only a first subset of the packet header field values stored in the first set of registers are used in the pipeline.

Plain English Translation

In the machine-readable medium described above, for any given packet, only a subset of the header field values stored in the first register set (the "used" fields) are actually used by the switch pipeline.

Claim 20

Original Legal Text

20. The machine readable medium of claim 13 , wherein the program further comprises, for each of at least a subset of the packet headers, determining a format of a next packet header by matching a value of a particular packet header field of the packet header against a set of TCAM entries.

Plain English Translation

The machine-readable medium described above further comprises determining the format of the next packet header for at least some of the packet headers by matching a specific header field value of the current packet header against a set of TCAM entries.

Patent Metadata

Filing Date

Unknown

Publication Date

November 21, 2017

Inventors

Patrick Bosshart

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “PACKET HEADER FIELD EXTRACTION” (9825862). https://patentable.app/patents/9825862

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/9825862. See llms.txt for full attribution policy.