NIC Hardware Offloading for Nested Virtual Switch Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The scalability of virtual network topologies in information handling systems is limited by the increasing processing needs, particularly due to the resource-intensive nature of virtual switches which require multiple CPU cores for network throughput, leading to inefficiencies in handling high-bandwidth demands.
Innovation Solution
The implementation of a network interface card (NIC) that offloads flows associated with virtual switches, creating fast paths that bypass transactions between the NIC and the operating system, allowing for the instantiation of virtual networks with multiple interconnected virtual switches without relying on CPU resources for routing data packets directly to virtual machines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If virtual switches are used to route data packets through multiple virtual network layers, then network virtualization functionality is improved, but processor resource utilization increases excessively
Solution Approach 1:
The patent extracts the flow routing functionality from the virtual switches and transfers it to the NIC's hardware flow manager. The NIC receives flow definitions from virtual switches and independently manages flow tables, allowing data packets to be routed directly by hardware without CPU intervention. This extraction resolves the contradiction by maintaining virtualization functionality while eliminating processor resource consumption for routine packet routing.
Solution Approach 2:
The patent introduces a flow manager as an intermediary component that resides in the NIC's hardware. This flow manager acts as a mediator between the virtual switches and the data packets, handling routing decisions in hardware without requiring CPU involvement. The flow manager receives flow definitions from virtual switches and autonomously routes packets based on these definitions, resolving the resource utilization issue while preserving virtual network functionality.
2Ease of operation
If data packets are routed through multiple virtual switches before reaching virtual machines, then network traffic management is improved, but the number of transactions between NIC and operating system increases
Solution Approach 1:
The patent implements preliminary action by pre-defining flow rules in the hardware flow tables of the NIC. These flow definitions, which specify routing paths through virtual switches, are installed in advance and allow the NIC to autonomously route packets without real-time CPU intervention. This preliminary configuration maintains complex traffic management capabilities while dramatically reducing the number of actual transactions during packet forwarding.
Solution Approach 2:
The patent enables the NIC's flow manager to serve itself by autonomously making routing decisions based on pre-configured flow tables. The hardware flow manager independently matches incoming packets against flow rules and forwards them through the appropriate virtual switches without requiring CPU involvement. This self-service mechanism reduces transaction overhead while maintaining sophisticated traffic management.
3Adaptability or versatility
If CPU resources are used for routing data packets in virtualized networks, then flexible network topology support is improved, but scalability is limited by processing capacity
Solution Approach 1:
The patent replaces the mechanical CPU-based packet processing system with a hardware-based flow management system in the NIC. The flow manager uses dedicated hardware resources (separate from the main CPU) to perform packet routing, matching, and forwarding operations. This substitution enables scalable network virtualization by offloading processing from the general-purpose CPU to specialized hardware, thereby improving both topology flexibility and system scalability.
Data Source
AI summary
An information handling system includes a processor and NIC coupled to the processor via a communication interface. The NIC includes a network port. The processor instantiates a virtual network including at least two virtual switches and a virtual machine. The NIC receives a first flow from a first virtual switch, the first flow directing data packets received on the network port and destined for the virtual machine to a second virtual switch, and receives a second flow from the second virtual switch, the second flow directing the data packets to the virtual machine. The NIC further receives a data packet on the network port, determines that the data packet is destined for the virtual machine, and routes the data packet to a virtual function associated with the virtual machine based on the first and second flows, without first routing the first data packet to either of the virtual switches.


