Network Interface Card Session Entry Offloading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud computing environments, the virtual switch's data exchange tasks often occupy excessive hardware resources, reducing the efficiency of running virtual machines and increasing the load on servers, as they rely heavily on processor and storage resources for packet processing.
Innovation Solution
Offloading the processing of data packets to a network interface card, where action fields from multiple flow entries are combined into session entries, allowing the network interface card to handle packet processing independently, thereby reducing the hardware resource burden on servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the virtual switch processes data packets using flow tables, then network traffic can be controlled and routed, but excessive hardware resources (processor and storage) are occupied, reducing virtual machine running efficiency
Solution Approach 1:
The patent extracts the packet processing function from the virtual switch and relocates it to the network interface card. The NIC maintains flow tables and session tables locally, enabling it to independently process packets without continuously involving the virtual switch and its heavy processor resources, thus resolving the resource occupation problem while maintaining traffic control capability
Solution Approach 2:
The patent introduces a session table as an intermediary data structure between the flow table and packet processing. The session table caches processing results and enables rapid lookup for returning packets, reducing the need to repeatedly query flow tables and minimizing the processing burden on the virtual switch, thereby improving VM efficiency while preserving network control
2Reliability
If multiple flow entries are maintained for comprehensive packet processing, then network security and routing control are improved, but the complexity of packet processing increases and processing speed decreases
Solution Approach 1:
The patent performs preliminary actions by pre-establishing flow tables with comprehensive security and routing rules, and pre-creating session table entries for frequently occurring traffic patterns. This allows the NIC to make rapid decisions based on pre-computed rules without performing complex real-time analysis, thus maintaining security while improving processing speed
Solution Approach 2:
The patent merges multiple flow entries that handle similar traffic patterns into consolidated session table entries. By combining the processing logic of multiple flow rules into unified session entries with aggregated action fields, the system reduces the number of lookups and processing steps required, thereby increasing packet processing speed while maintaining the security control provided by the original multiple flow entries
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
Embodiments of the present invention provide a data processing method, a network interface card, and a server. The method includes: receiving, by a host, a first data packet sent by the network interface card, obtaining at least two flow entries associated with the first data packet, generating processing information according to the at least two flow entries, and sending the processing information to the network interface card; and generating, by the network interface card, an action field of a first session entry according to the processing information, and generating a match field of the first session entry according to matching information of the first data packet, where the first session entry is used to record a rule used by the network interface card to process a data packet that matches the first session entry. Action fields of one session entry are combined according to action fields of a plurality of flow entries associated with the data packet, and a function of processing the data packet is offloaded to the network interface card for implementation, so that hardware resources on the server are saved, and a data packet processing procedure is simplified.