XDP Offloading to Hypervisor for VM Network Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing implementation of eXpress Data Path (XDP) in virtual machines leads to overhead in processing resources due to the need to move packets into memory, which can divert resources away from other critical services on the host.

Innovation Solution

The XDP configuration is applied directly to the hypervisor or a SmartNIC, allowing the hypervisor or SmartNIC to handle packet actions, thereby reducing the processing burden on virtual machines and optimizing resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If XDP is implemented in the virtual machine to enable high-rate packet processing by bypassing the guest OS network stack, then network packet processing speed is improved, but processing resources are consumed due to packet movement into virtual machine memory

Engineering Contradiction:
Improvenetwork packet processing speedVSAvoidprocessing resources
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent extracts the XDP packet processing functionality from the virtual machine environment and relocates it to the physical network interface controller. This extraction eliminates the need to move packets into virtual machine memory, thereby removing the associated processing overhead while preserving the high-speed packet processing capability. The XDP program is now executed in the hardware layer rather than the software layer.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a configuration mechanism that acts as an intermediary between the virtual machine and the physical network interface controller. The virtual machine provides XDP configuration information to the host system, which then programs the physical NIC to implement the XDP program. This intermediary approach allows the virtual machine to specify packet processing rules without requiring the actual packet processing to occur within the virtual machine's memory space.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If XDP configuration is applied in the virtual machine to enable packet filtering and redirection, then network traffic control capability is improved, but host processing resources are diverted from other services

Engineering Contradiction:
Improvenetwork traffic control capabilityVSAvoidhost processing resources for other services
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the computationally intensive packet processing operations from the virtual machine and host CPU, relocating them to the physical network interface controller. This extraction maintains the virtual machine's ability to control network traffic through XDP configuration while removing the resource consumption burden from the host processing system, allowing other services to utilize the freed processing resources.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent enables the physical network interface controller to autonomously execute XDP programs based on configuration information provided by the virtual machine. The NIC performs packet filtering, redirection, and other network traffic control operations independently without requiring host CPU intervention for each packet. This self-service capability maintains adaptability while eliminating the productivity impact on host services.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If packets are processed through the virtual machine's XDP implementation, then packet handling flexibility is improved, but overhead occurs due to packet movement into virtual machine memory

Engineering Contradiction:
Improvepacket handling flexibilityVSAvoidprocessing overhead time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent extracts packet processing operations from the virtual machine memory environment and relocates them to the physical network interface controller. This extraction eliminates the time-consuming packet movement between host and virtual machine memory while preserving packet handling flexibility through configurable XDP rules. The processing now occurs at the network interface level before packets enter the virtual machine's memory space.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements packet processing actions before packets are delivered to the virtual machine by programming the physical NIC with XDP rules in advance. The NIC autonomously performs filtering, redirection, and other packet handling operations at the point of reception, eliminating the need for subsequent processing steps within the virtual machine. This preliminary action approach maintains flexibility while removing overhead time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240231865A1Application of an express data path configuration in a virtual computing environment
Publication Date: 2024.07.11 VMWARE INC
  • US20240231865A1 patent drawing
  • US20240231865A1 patent drawing
  • US20240231865A1 patent drawing

AI summary

Described herein are systems, methods, and software to offload an eXpress Data Path (XDP) operation from a virtual machine to the hypervisor or smart network interface on the host. In one implementation, a method includes, in a virtual machine on a host, passing an XDP configuration for the virtual machine to a hypervisor on the host. The method further includes, in the hypervisor initiating a process to implement the XDP configuration, identifying a packet directed to the virtual machine, and applying the process to the packet to determine an action for the packet.