Virtual NIC Bypass for Packet Processing Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network traffic processing systems are inefficient in bypassing the data link layer, leading to suboptimal packet processing and management, especially when handling multiple connections and virtual network interfaces.
Innovation Solution
The implementation of a virtual network interface card (VNIC) system that uses tokens and function pointers to bypass the data link layer by associating packets directly with a hardware receive ring and a virtual serialization queue, allowing for efficient packet processing and management through a host-connected NIC with multiple hardware receive rings and a virtual network stack.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If packets are processed through the virtual NIC and data link layer, then packet processing can be performed with standard networking stack, but processing overhead increases and efficiency decreases
Solution Approach 1:
The patent extracts packets from the conventional networking stack processing path and directs them directly to the virtual network stack. By using function pointers stored in hardware receive rings, the system eliminates the unnecessary virtual NIC and data link layer processing steps, allowing packets to bypass these components and be processed directly by the virtual network stack, thereby reducing processing overhead and improving efficiency
Solution Approach 2:
The patent implements a bypass mechanism that allows packets to skip through the virtual NIC and data link layer by using function pointers to directly access the virtual network stack. This rushing through approach enables packets to proceed directly to the virtual network stack without stopping at intermediate processing stages, significantly reducing the time and resources consumed by standard networking stack processing
2Adaptability or versatility
If multiple connections are handled through standard networking stack, then connection management is comprehensive, but system complexity increases
Solution Approach 1:
The patent segments the network processing function into distinct components: hardware receive rings for packet reception, function pointers for routing decisions, and the virtual network stack for actual packet processing. This segmentation allows each component to handle specific aspects of connection management independently, reducing overall system complexity while maintaining comprehensive multi-connection handling capability
Solution Approach 2:
The patent introduces function pointers as an intermediary mechanism between the hardware receive rings and the virtual network stack. These function pointers act as mediators that store information about multiple connections and direct packets to the appropriate virtual network stack processing functions, enabling comprehensive connection management without increasing the complexity of individual components
Data Source
AI summary
A system for processing a packet, including a network interface card (NIC), including a plurality of hardware receive rings, a classifier configured to classify the packet and send the packet to one of the plurality of hardware receive rings, and a host, operatively connected to the NIC, including a virtual network stack including a virtual serialization queue, a virtual network interface card (VNIC) associated with the virtual serialization queue, a device driver associated with the VNIC and configured to store a function pointer and a token associated with one of the plurality of hardware receive rings, where the VNIC is configured to perform at least one selected from a group consisting of enabling bypass mode and disabling bypass mode by changing the function pointer stored in the device driver, where the function pointer is used to send the packet to the virtual serialization queue if the bypass mode is enabled.


