VM Packet Offload to PNIC for High-Speed Ethernet
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtualization environments face challenges in achieving high packet processing rates, especially with fast Ethernet links operating at 40, 50, and 100 Gbps, as existing implementations struggle to deliver efficient network function processing.
Innovation Solution
Offloading network function packet processing from virtual machines to a virtual device, such as a virtual network interface controller (VNIC), is implemented by emulating packet processing in the hypervisor or physical network interface controller (PNIC) hardware, leveraging hardware acceleration features to achieve higher processing rates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If network function processing is implemented in virtual machines, then network function capabilities are provided, but packet processing rate is insufficient to achieve high-speed Ethernet link rates
Solution Approach 1:
The patent extracts the packet processing functions from the virtual machine environment and relocates them to the physical network interface controller hardware. This is achieved through a packet processing offload module that captures packets before they enter the VM, processes them in hardware, and returns processed packets without VM involvement, thereby achieving line-rate processing while maintaining network function capabilities
Solution Approach 2:
The patent introduces a packet processing offload module as an intermediary component between the physical NIC and the virtual machine. This module acts as a mediator that intercepts packets, performs hardware-based processing, and returns results without requiring VM participation, thus bridging the gap between network function requirements and high-speed processing needs
2Productivity
If more processor cores are used to increase packet processing capacity, then processing rate improves, but system complexity and cost increase
Solution Approach 1:
The patent replaces the mechanical/software-based packet processing system in virtual machines with a hardware-based processing system in the physical NIC. This substitution leverages dedicated hardware circuits and accelerators within the NIC to perform packet processing functions that would otherwise require multiple processor cores, thereby achieving high throughput without increasing system complexity
3Ease of operation
If packets are transmitted to and from VM via VNIC, then network function processing is enabled, but processor cycle cost is high
Solution Approach 1:
The patent extracts packets from the VM communication path by implementing a packet processing offload module that captures packets at the physical NIC level before they are transmitted to virtual machines via VNIC. This extraction eliminates the need for VM involvement in packet processing, thereby reducing processor cycle costs while maintaining network function processing capabilities
Solution Approach 2:
The patent enables the physical NIC to self-service packet processing through hardware-based offloading. The packet processing offload module within the NIC autonomously performs encapsulation, decapsulation, forwarding, and other network functions without requiring VM participation or hypervisor intervention, thereby minimizing processor cycle consumption
Data Source
AI summary
A method to offload network function packet processing from a virtual machine onto an offload destination is disclosed. In an embodiment, a method comprises: defining an application programing interface (“API”) for capturing, in a packet processor offload, a network function packet processing for a data flow by specifying how to perform the network function packet processing on data packets that belong to the data flow. Based on capabilities of the packet processor offload and available resources, a packet processing offload destination is selected. Based at least on the API, the packet processor offload for the packet processing offload destination is generated. The packet processor offload is downloaded to the packet processing offload destination to configure the packet processing offload destination to provide the network function packet processing on the data packets that belong to the data flow. The packet processing offload destination is a PNIC or a hypervisor.


