Dynamic NIC Offloading for Virtual Switch Traffic Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Commercially-available NICs have insufficient flow resolution, limiting the application of NIC-offloading and leading to traffic concentration on virtual switches, which cannot accommodate high traffic efficiently due to fixed packet communication routes.
Innovation Solution
A network system with a server, switch, and controller that dynamically controls NIC-offloading and tunneling processes using a filter table and offloading policy table, allowing packet processing without referring to the filter table for specific flows, thereby bypassing the virtual switch for desired flows and using a physical switch for others to manage traffic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If NIC-offloading is used to bypass the virtual switch, then traffic concentration on the virtual switch is reduced, but the packet communication route becomes fixed and flexible traffic control is lost
Solution Approach 1:
The system dynamically switches between NIC-offloading mode and virtual switch routing mode based on traffic conditions and requirements. The controller determines whether to enable NIC-offloading for specific flows, allowing the system to adapt between fixed high-speed routing and flexible software-based control as needed.
2Adaptability or versatility
If the virtual switch processes all traffic, then flexible traffic control is maintained, but the virtual switch becomes a bottleneck and cannot accommodate concentrated traffic efficiently
Solution Approach 1:
The system segments traffic handling into two paths: high-volume traffic that can be handled by NIC-offloading bypasses the virtual switch, while traffic requiring flexible control remains routed through the virtual switch. This segmentation allows the virtual switch to focus on complex traffic management without being overwhelmed by all traffic volume.
Solution Approach 2:
Instead of requiring the virtual switch to handle all traffic, the system applies partial action by enabling NIC-offloading only for specific flows where high-speed direct routing is appropriate, while leaving other flows to be handled by the virtual switch for flexible control.
3Productivity
If NIC-offloading is enabled for all flows, then traffic concentration on the virtual switch is suppressed, but flows requiring flexible routing cannot be properly controlled
Solution Approach 1:
The system applies different routing qualities to different traffic flows. Each flow can be individually configured to use either NIC-offloading for high-speed direct routing or virtual switch routing for flexible control, allowing local optimization based on specific traffic requirements rather than a uniform approach.
4Device complexity
If commercially-available NICs with limited flow resolution are used, then hardware simplicity is maintained, but desired NIC-offloading cannot be achieved for flows requiring higher resolution
Solution Approach 1:
The controller acts as an intermediary that compensates for the limited flow resolution of commercially-available NICs. It intelligently determines which flows can be handled by NIC-offloading with the available resolution and which flows require virtual switch routing, effectively bridging the gap between hardware limitations and traffic management requirements.
Data Source
AI summary
A network system is provided. The network system includes a server, a switch connected to a server, and a controller controlling the functions of the server and the switch. The server includes a processor and a network adapter connected to a processor. The network adapter processes packets of each flow in accordance with a filter table. The processor includes a virtual machine and a virtual switch which relays packets transmitted and received by the virtual machine to and from an external entity. The network adapter has an offloading function which exchanges packets with the virtual machine without using the virtual switch. In a tunneling process, the switch exchanges packets with the virtual machine through a tunneling-dedicated port, and the network adapter forwards the packets between the switch and the virtual machine without referring to the filter table. The controller dynamically controls enabling/disenabling of the tunneling process for each flow.


