Offload Engine for Network Switch Packet Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The speed mismatch between data plane hardware and control plane CPU in network switches limits the processing speed of packets, especially when flexible processing is required, leading to bottlenecks and performance degradation due to the need for software-based processing, which is orders of magnitude slower and lacks scalability.

Innovation Solution

Implementing hardware-based offload engines, such as those executing the extended Berkeley Packet Filter (eBPF) instruction set, embedded in switch ASICs to offload certain packet-processing operations from the control plane CPU, allowing for faster and more efficient handling of exceptions and analytics, while maintaining compatibility with the Linux kernel and software stack.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data plane hardware directs packets requiring flexible processing to control plane CPU, then processing flexibility is improved, but processing speed deteriorates due to orders of magnitude speed difference

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidpacket processing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent introduces an offload engine as an intermediary component between the data plane hardware and control plane CPU. This offload engine handles flexible packet processing operations that cannot be performed by standard data plane hardware, acting as a mediator that prevents these packets from bottlenecking the control plane CPU while maintaining processing flexibility. The offload engine receives packets from the data plane, performs flexible processing operations, and returns results, thereby resolving the speed-flexibility contradiction.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the packet processing functionality into distinct components: data plane hardware for high-speed standard processing, offload engines for flexible processing operations, and control plane CPU for control functions. This segmentation allows each component to operate at its optimal speed and capability level, with the offload engine handling the flexible processing tasks that would otherwise slow down the control plane CPU.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If traditional software stacks are used in edge applications, then development and deployment flexibility is improved, but energy consumption and compute power increase

Engineering Contradiction:
Improvedevelopment and deployment flexibilityVSAvoidenergy consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent replaces traditional software-based packet processing with hardware-based offload engines that execute eBPF instructions. This substitution moves flexible processing operations from the software domain (control plane CPU running Linux) to a hardware domain (dedicated offload engine), significantly reducing energy consumption and compute power requirements while maintaining the flexibility benefits of software stacks.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If custom integrated circuits or FPGA-based solutions are used, then processing efficiency is improved, but development and deployment flexibility deteriorates

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddevelopment and deployment flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal offload engine architecture that can execute eBPF instructions, providing multi-functional capability. The offload engine can handle various flexible processing operations (packet filtering, modification, forwarding decisions) through a single hardware platform that executes programmable instructions. This universality maintains development flexibility similar to software stacks while achieving processing efficiency接近 custom hardware solutions.

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

Data Source

PatentUS11765092B2System and method for scaling data path processing with offload engines in control plane
Publication Date: 2023.09.19 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11765092B2 patent drawing
  • US11765092B2 patent drawing
  • US11765092B2 patent drawing

AI summary

One aspect provides a network switch. The network switch includes hardware-based packet-processing logic for processing received packets, a processing unit, and an offload engine coupled to the processing unit. The offload engine is to offload, from the processing unit, packet-processing operations associated with a subset of the received packets. The offload engine comprises a processor core, at least one hardware packet-processing accelerator for performing the packet-processing operations, and a function-helper logic for interfacing between the processor core and the hardware packet-processing accelerator.