Network Interface Card Packet Classification and Offload
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network traffic processing systems require significant host resources and only support single-threaded processing, leading to inefficiencies in handling and processing network packets.
Innovation Solution
A method and system that utilize a network interface card (NIC) with hardware classifiers and receive rings to classify packets, directing them to either offload hardware or onload resources for processing, based on policies defined for virtual network interface cards (VNICs), allowing for efficient use of both specialized hardware and general-purpose processors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If network traffic processing uses host resources, then processing capability is improved, but resource utilization efficiency deteriorates
Solution Approach 1:
The patent segments network traffic processing into multiple receive rings (first receive ring, second receive ring) that can be independently configured and processed. Each receive ring handles specific types of network traffic, allowing the system to distribute processing loads across different host resources efficiently, thereby improving both processing capability and resource utilization efficiency.
2Device complexity
If single-threaded processing is used, then device complexity is reduced, but productivity deteriorates
Solution Approach 1:
The patent introduces a new dimension of parallelism by implementing multiple receive rings that can be processed concurrently. Instead of relying solely on multi-threading at the software level, the system creates parallel processing paths at the hardware/network interface level, enabling simultaneous packet reception and classification across different rings, thereby significantly improving throughput without excessive complexity.
3Device complexity
If all packets are processed through the same path, then device complexity is reduced, but adaptability deteriorates
Solution Approach 1:
The patent applies local quality by configuring different receive rings with specific characteristics suited for different types of network traffic. Each receive ring can be optimized for particular protocols, traffic patterns, or priority levels, allowing the system to adapt to diverse traffic requirements while maintaining a relatively simple overall architecture. The classifier directs packets to appropriate rings based on their specific needs.
Solution Approach 2:
The patent creates a universal processing framework where multiple receive rings can handle different types of network traffic through a common classification and distribution mechanism. The system provides multi-functionality by enabling the same basic infrastructure (NIC, classifier, receive rings) to accommodate various traffic types, protocols, and processing requirements without requiring separate dedicated paths for each.
Data Source
AI summary
In general, the invention relates to a method for processing packets. The method includes receiving a first packet by a network interface card (NIC) connected to a host, classifying the first packet using a classifier, sending the first packet to a receive ring based on a classification of the first packet by the classifier, and sending the first packet from the receive ring to a first virtual network interface card (VNIC) located on the host. The method further includes determining, using a first policy associated with the first VNIC, whether to process the first packet using offload hardware. When the first packet is to be processed using the offload hardware, the method includes sending the first packet to the offload hardware, receiving a first processed packet from the offload hardware by the first VNIC and sending the first processed packet from the first VNIC to a first packet destination.


