Network Interface Card Flow Table Matching for Virtual Switch Load Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud computing environments, the efficient processing of data packets is hindered by the limited hardware resources of computing devices, which are overwhelmed by the resource-intensive tasks of virtual switches, leading to reduced operating efficiency and potential impacts on virtual machine operations.
Innovation Solution
A data packet processing method where the Network Interface Card (NIC) queries a flow table set and, if unable to match a flow table, forwards the packet to a virtual switch to obtain the necessary flow table from an SDN controller, thereby reducing the operational load on the virtual switch and enhancing packet processing efficiency by distributing the workload between the NIC and the virtual switch.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the virtual switch performs flow table matching for all data packets, then complete routing control is achieved, but the hardware resources of the computing device are excessively occupied, reducing operating efficiency
Solution Approach 1:
The patent segments the flow table matching function by dividing the matching workload between the NIC (which maintains a local flow table for common patterns) and the virtual switch (which handles remaining packets). This segmentation allows the NIC to filter out routine traffic locally, reducing the burden on the virtual switch and freeing up hardware resources while maintaining complete routing control through the virtual switch's ultimate authority over packet forwarding decisions.
2Ease of operation
If the virtual switch handles all packet forwarding tasks, then centralized control is maintained, but the resource burden on the virtual switch increases, affecting VM operations
Solution Approach 1:
The patent introduces the NIC as an intermediary component that assists the virtual switch in handling packet forwarding tasks. The NIC maintains a local flow table and performs initial matching for incoming packets, acting as a first line of defense. This intermediary role allows the virtual switch to maintain centralized control over routing decisions while offloading the resource-intensive matching operations to the NIC, thereby reducing the resource burden on the virtual switch and preventing interference with VM operations.
3Productivity
If the NIC processes all data packets independently, then processing speed increases, but the ability to maintain consistent routing policies across the network decreases
Solution Approach 1:
The patent implements a feedback mechanism where the NIC and virtual switch continuously exchange information about flow table entries and routing decisions. When the virtual switch encounters a packet that requires policy enforcement or when routing policies are updated, it can push relevant flow table entries to the NIC. Conversely, the NIC can report unmatched packets or flow patterns back to the virtual switch for policy adjustment. This bidirectional feedback ensures that the NIC's independent processing remains aligned with the overall network routing policies maintained by the virtual switch.
Data Source
Figure 1
Figure 2a
Figure 2b~2c
AI summary
This application discloses a data packet processing method, and the method is applied to a computing device in software-defined networking SDN. After receiving a data packet of a data flow, a NIC in the computing device queries a flow table set according to matching information of the data packet; and if a flow table is obtained from the flow table set by means of matching, the NIC processes the data packet according to the flow table; or if no flow table can be obtained from the flow table set by means of matching, the NIC sends the data packet to a virtual switch, and the virtual switch obtains a flow table corresponding to the data flow which comprises the data packet, and saves the flow table into the flow table set, so that the NIC can directly process a subsequent data packet of the data flow which comprises the data packet. According to the method provided in this application, an operating load of the virtual switch is reduced, and operating efficiency of the computing device is improved.