Randomized per-packet port channel load balancing
US-9590914-B2 · Mar 7, 2017 · US
US12381963B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12381963-B2 |
| Application number | US-202318370821-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 20, 2023 |
| Priority date | Jun 19, 2014 |
| Publication date | Aug 5, 2025 |
| Grant date | Aug 5, 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.
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.
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.
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
Parsing or analysis of headers · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.