NIC Packet Header Modification via Host Memory Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for modifying packet headers in network protocols, such as NAT and MPLS routing, often require large memory storage and complex logic in routers or switches, leading to limitations in cost and scalability.

Innovation Solution

Implementing header modification functions in a Network Interface Controller (NIC) that uses existing interface logic and direct memory access capabilities to store header modification tables in host memory, allowing for efficient rewriting, adding, or removing header fields, and steering packets based on modified headers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If header modification functions are implemented in routers or switches, then packet header processing capability is improved, but device complexity and cost increase

Engineering Contradiction:
Improvepacket header processing capabilityVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the header modification function from traditional network devices (routers/switches) and relocates it to the NIC. The NIC now contains a header modification engine that can modify packet headers independently, while the host memory stores the modification tables. This extraction reduces the complexity burden on network devices while maintaining processing capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces the NIC as an intermediary component between the host computer and the network. The NIC's header modification engine acts as a mediator that handles header modifications before packets are transmitted or after they are received, eliminating the need for complex processing in routers and switches.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If header modification tables are stored in host memory, then memory usage efficiency is improved, but access speed may worsen

Engineering Contradiction:
Improvememory storage capacityVSAvoidtable access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent segments the header modification system into two parts: the header modification engine in the NIC and the modification tables in host memory. This segmentation allows the system to leverage the large capacity of host memory while the NIC engine handles the processing logic, balancing capacity and speed requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The header modification tables are prepared and stored in host memory in advance, containing all necessary modification rules and mappings. This preliminary preparation allows the NIC engine to perform quick lookups and modifications without real-time computation overhead, improving access efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10027601B2Flow-based packet modification
Publication Date: 2018.07.17 MELLANOX TECHNOLOGIES LTD(IL)
  • US10027601B2 patent drawing
  • US10027601B2 patent drawing
  • US10027601B2 patent drawing

AI summary

Communication apparatus includes a host interface, which is configured to be connected to a peripheral component bus, and a network interface, which is configured to be connected to a network. Packet processing circuitry is coupled between the host interface and the network interface and is configured to receive from a first interface, selected from among the host interface and the network interface, a data packet comprising a header containing multiple fields having respective values, to identify, responsively to a value of at least one of the fields, a corresponding entry in a header modification table, and to modify the header in accordance with the identified entry. The data packet with the modified header is transmitted through a second interface selected from among the host interface and the network interface.