Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof

US12381963B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12381963-B2
Application numberUS-202318370821-A
CountryUS
Kind codeB2
Filing dateSep 20, 2023
Priority dateJun 19, 2014
Publication dateAug 5, 2025
Grant dateAug 5, 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.

Embodiments of the apparatus for modifying packet headers relate to a use of bit vectors to allow expansion and collapse of protocol headers within packets for enabling flexible modification. A rewrite engine expands each protocol header into a generic format and applies various commands to modify the generalized protocol header. The rewrite engine maintains a bit vector for the generalized protocol header with each bit in the bit vector representing a byte of the generalized protocol header. A bit marked as 0 in the bit vector corresponds to an invalid byte, while a bit marked as 1 in the bit vector corresponds to a valid byte. The rewrite engine uses the bit vector to remove all the invalid bytes after all commands have been operated on the generalized protocol header to thereby form a new protocol header.

First claim

Opening claim text (preview).

We claim: 1. A method of a network device, the method comprising: receiving a packet having a header including one or more protocol layers, wherein each protocol layer of the one or more protocol layers corresponds to one of a plurality of protocols; and for at least one protocol layer of the one or more protocol layers: converting the at least one protocol layer to a generic protocol layer format associated with the protocol of the at least one protocol layer by adding one or more fields to the at least one protocol layer, wherein the one or more fields added to the at least one protocol layer were not previously a part of the at least one protocol layer and are dependent on the protocol of the at least one protocol layer. 2. The method of claim 1 , further comprising maintaining a protocol table including a plurality of entries, wherein each entry of the plurality of entries is associated with a unique identifier and includes data associated with a different combination of the plurality of protocols. 3. The method of claim 1 , wherein the header of the packet includes a body that is a portion of the header that is not modified by the set of generic commands. 4. The method of claim 3 , further comprising: maintaining a pointer structure for the packet that includes an end pointer, a plurality of layer pointers and a total size of the header of the packet, wherein each of the layer pointers point to a start position of a different one of the protocol layers of the header of the packet and the end pointer points to the start of the body of the header. 5. The method of claim 1 , further comprising, for each protocol layer of the at least one protocol layer that is converted, storing a bit vector including a plurality of values that each represent a different portion of the converted protocol layer. 6. The method of claim 1 , wherein the generic format includes all supported fields of the protocol of the at least one protocol layer. 7. The method of claim 1 , wherein converting the at least one protocol layer includes: of fields supported by the protocol of the at least one protocol layer, detecting which of the fields are missing from the at least one protocol layer; and based on the detection, expanding the at least one protocol layer to the generic format by adding the missing fields. 8. A network switch comprising: an input port for receiving a packet having a header including one or more protocol layers, wherein each protocol layer of the one or more protocol layers corresponds to one of a plurality of protocols; and a non-transitory computer-readable memory storing a rewrite engine that, for at least one protocol layer of the one or more protocol layers, converts the at least one protocol layer to a generic protocol layer format associated with the protocol of the at least one protocol layer by adding one or more fields to the at least one protocol layer, wherein the one or more fields added to the at least one protocol layer were not previously a part of the at least one protocol layer and are dependent on the protocol of the at least one protocol layer. 9. The network of claim 8 , wherein the memory stores a protocol table including a plurality of entries, wherein each entry of the plurality of entries is associated with a unique identifier and includes data associated with a different combination of the protocols. 10. The network of claim 8 , wherein the header of the packet includes a body that is a portion of the header that is not modified by the set of generic commands, and further wherein the memory stores a pointer structure for the packet that includes an end pointer, a plurality of layer pointers and a total size of the header of the packet. 11. The network of claim 10 , wherein each of the layer pointers point to a start position of a different one of the protocol layers of the header of the packet and the end pointer points to the start of the body of the header. 12. The network of claim 8 , wherein, for each protocol layer of the at least one protocol layer that is converted, the memory stores a bit vector including a plurality of values that each represent a different portion of the converted protocol layer. 13. The network of claim 8 , wherein the generic format includes all supported fields of the protocol of the at least one protocol layer. 14. The network of claim 8 , wherein converting the at least one protocol layer includes: of fields supported by the protocol of the at least one protocol layer, detecting which of the fields are missing from the at least one protocol layer; and based on the detection, expanding the at least one protocol layer to the generic format by adding the missing fields. 15. A non-transitory computer-readable medium storing a rewrite engine for receiving a packet having a header including one or more protocol layers, each protocol layer of the one or more protocol layers corresponding to a different one of a plurality of protocols, the rewrite engine configured to, for at least one protocol layer of the one or more of protocol layers, convert the at least one protocol layer to a generic protocol layer format associated with the protocol of the at least one protocol layer by adding one or more fields to the at least one protocol layer, wherein the one or more fields added to the at least one protocol layer were not previously a part of the at least one protocol layer and are dependent on the protocol of the at least one protocol layer. 16. The non-transitory computer-readable medium of claim 15 , wherein the rewrite engine is configured to access a protocol table including a plurality of entries, wherein each entry of the plurality of entries is associated with a unique identifier and includes data associated with a different combination of the protocols. 17. The non-transitory computer-readable medium of claim 15 , wherein the header of the packet includes a body that is a portion of the header that is not modified by the set of generic commands, and further wherein the rewrite engine is configured to access a pointer structure for the packet that includes an end pointer, a plurality of layer pointers and a total size of the header of the packet. 18. The non-transitory computer-readable medium of claim 17 , wherein each of the layer pointers point to a start position of a different one of the protocol layers of the header of the packet and the end pointer points to the start of the body of the header. 19. The non-transitory computer-readable medium of claim 15 , wherein, for each protocol layer of the at least one protocol layer that is converted, the rewrite engine is configured to generate a bit vector including a plurality of values that each represent a different portion of the converted protocol layer. 20. The non-transitory computer-readable medium of claim 15 , wherein the generic format includes all supported fields of the protocol of the at least one protocol layer. 21. The non-transitory computer-readable medium of claim 15 , wherein converting the at least one protocol layer includes: of fields supported by the protocol of the at least one protocol layer, detecting which of the fields are missing from the at least one protocol layer; and based on the detection, expanding the at least one protocol layer to the generic format by adding the missing fields.

Assignees

Inventors

Classifications

  • Protocols for interworking; Protocol conversion · CPC title

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

  • Protocols for data compression, e.g. ROHC · 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 US12381963B2 cover?
Embodiments of the apparatus for modifying packet headers relate to a use of bit vectors to allow expansion and collapse of protocol headers within packets for enabling flexible modification. A rewrite engine expands each protocol header into a generic format and applies various commands to modify the generalized protocol header. The rewrite engine maintains a bit vector for the generalized pro…
Who is the assignee on this patent?
Marvell Asia Pte Ltd
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 Aug 05 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).