DPU Flow Table Programming via Host DPDK Control Packets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing DPU architectures face challenges in achieving high connection per second (CPS) flow table management capabilities due to restrictions on direct access to P4 hardware flow tables, necessitating software agents to run on host x86 CPUs rather than DPU's CPU cores, which limits high-rate flow programming.

Innovation Solution

A method is introduced to manage DPU flow tables from host x86 CPUs using a high-performance packet interface based on DPDK, enabling API-Control-Packets to program DPU P4 tables through a software proxy, leveraging ARM cores and P4 engines for parallel processing and offloading table management tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software agents run on host x86 CPUs to manage flow tables, then flow table management is enabled, but high CPS rates cannot be achieved

Engineering Contradiction:
Improveflow table management capabilityVSAvoidaccess restriction to P4 hardware flow tables
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A software proxy is introduced as an intermediary component that runs on the DPU and mediates between the host x86 CPU software agents and the P4 hardware flow tables. The proxy receives programming requests from the host, translates them into appropriate hardware commands, and manages direct access to the flow tables, thereby enabling high CPS rates while maintaining controlled access restrictions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system is segmented into three distinct components: host software agents (control plane), DPU software proxy (intermediate layer), and P4 hardware flow tables (data plane). This segmentation allows each component to operate independently at its optimal level, with the proxy handling high-speed hardware interactions while the host agents manage high-level flow management logic.

Inventive Principle:
Principle #1Segmentation

2Productivity

If DPU CPU cores are used to program P4 tables, then high CPS rates can be achieved, but software agents cannot run on host x86 CPUs

Engineering Contradiction:
ImproveCPS rate for flow programmingVSAvoidsoftware agent execution location
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The software proxy acts as an intermediary that enables software agents to run on host x86 CPUs while still achieving high CPS rates. It translates high-level software agent requests into optimized hardware commands and manages the actual flow table programming operations on the DPU, combining the benefits of both approaches.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system replaces the mechanical constraint of requiring software agents to physically reside on DPU cores with a virtualized communication mechanism. The proxy uses efficient memory-mapped I/O and direct memory access techniques to substitute for traditional CPU-to-CPU communication, enabling remote software agents to achieve near-local performance.

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

3Reliability

If direct access to P4 hardware flow tables is restricted, then system security is improved, but flow table management performance deteriorates

Engineering Contradiction:
Improvesystem security through access controlVSAvoidflow table programming speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The software proxy serves as a secure intermediary that enforces access control policies while enabling high-performance flow table management. It validates and filters requests from the host, ensuring security requirements are met, while simultaneously optimizing the programming operations to maintain high CPS rates through efficient hardware interaction.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the operational parameters of the proxy by implementing batch processing modes, asynchronous operations, and memory-mapped I/O techniques. These parameter changes allow the proxy to maintain security controls while achieving flow table programming speeds that approach direct hardware access performance.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12587470B2Extend high CPS flow table management from DPU to host CPU
Publication Date: 2026.03.24 ADVANCED MICRO DEVICES INC
  • US12587470B2 patent drawing
  • US12587470B2 patent drawing
  • US12587470B2 patent drawing

AI summary

Embodiments herein describe a system including a host having a policy agent and a data plane development kit (DPDK) interface and a data processing unit (DPU) to transmit packets to the host, wherein the DPDK interface of the host performs operations including evaluating the packets, generating packet evaluation results, selecting, with the policy agent, a data processing library based on the packet evaluation results, and transmitting a control packet that includes the data processing library from the policy agent of the host to the DPU. The DPU is further configured to receive the control packet and program datapath tables based on the data processing library.