Packet Header Rewrite Engine for Protocol Flexibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network switches face performance issues due to the linear processing of protocol layers in packets, leading to latency and overprovisioning of resources, especially when dealing with evolving network protocols where fields in protocol headers may not be at fixed offsets, complicating hardware design.

Innovation Solution

A rewrite engine that represents each protocol header in a generic format, detecting missing fields and expanding the header to include all possible fields, using a data structure with a continuous byte field and bit vector to maintain validity, allowing for flexible and programmable modifications independent of the protocol header size.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a switch linearly processes each protocol layer in the packet, then the processing is simple to implement, but it creates network related performance issues including latency and requires overprovisioning of processing resources

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocessing performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-defining generic format headers that include all possible protocol fields before packet processing. The rewrite engine expands protocol headers to these pre-defined generic formats, allowing subsequent processing to use fixed offsets without linear scanning. This pre-prepared structure eliminates the need for complex linear processing during packet forwarding, reducing latency while maintaining implementation simplicity.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If network protocols evolve with optional fields, then protocol flexibility is improved, but the hardware complexity increases as fields may not be at fixed offsets

Engineering Contradiction:
Improveprotocol flexibilityVSAvoidhardware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements universality by creating a single generic format header structure that can represent multiple protocol variations. This universal structure includes all possible protocol fields at fixed offsets, allowing the same hardware architecture to handle different protocol versions and optional fields without complexity increases. The rewrite engine maps various protocol formats to this universal structure, enabling protocol flexibility while maintaining fixed offset processing.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If a switch processes packets with variable protocol header sizes, then it supports evolving protocols, but it complicates the hardware design due to non-fixed field offsets

Engineering Contradiction:
Improveprotocol supportVSAvoidhardware design complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies inversion by reversing the traditional approach: instead of handling variable header sizes directly with complex offset calculations, the system expands all headers to a standardized generic format with fixed offsets. This inversion transforms the complexity from the data processing stage to the header expansion stage, where the rewrite engine pre-processes headers into a uniform structure before forwarding, simplifying subsequent hardware design.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS9473601B2Method of representing a generic format header using continuous bytes and an apparatus thereof
Publication Date: 2016.10.18 MARVELL ASIA PTE LTD
  • US9473601B2 patent drawing
  • US9473601B2 patent drawing
  • US9473601B2 patent drawing

AI summary

Embodiments of the apparatus for modifying packet headers relate to a rewrite engine that represents each protocol header of packets in a generic format specific to that protocol to enable programmable modifications of packets, resulting in hardware and software flexibility in modifying packet headers. Software programs generic formats in a hardware table for various protocols. The rewrite engine is able to detect missing fields from a protocol header and is able to expand the protocol header to a maximum size such that the protocol header contains all possible fields of that protocol. Each of the fields has the same offset irrespective of which variation of the protocol the protocol header corresponds to. The expanded protocol header is represented by a data structure that is independent of a size of the protocol header.