HBA Link Aggregation Offload Engines for SRIOV
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current link aggregation methods in Single Root I/O Virtualization (SRIOV) mode require multiple Virtual Functions (VFs) for redundancy and increased bandwidth, leading to reduced VM capacity, increased CPU cycles, and disabled offload features, making it desirable to offload link aggregation from the host.
Innovation Solution
Configuring a Host Bus Adapter (HBA) with link aggregation offload engines to manage network data transmission, allowing a single VF per VM and reducing CPU resource consumption by offloading link aggregation from the host to the HBA, while maintaining support for features like LRO and TSO.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If link aggregation is performed in the host OS with multiple VFs assigned to a VM, then bandwidth and redundancy are improved, but the number of available VFs for other VMs is reduced
Solution Approach 1:
The patent extracts the link aggregation functionality from the host OS and moves it to the HBA hardware level. By implementing aggregation offload engines within the HBA, the system can perform link aggregation without requiring multiple VFs to be assigned to a single VM, thus maintaining VF availability for other VMs while still providing redundancy and bandwidth benefits.
Solution Approach 2:
The patent introduces aggregation offload engines as intermediary components within the HBA. These engines act as mediators that handle the link aggregation operations between multiple physical links and the virtual functions, allowing the host OS to remain unaware of the aggregation details while still achieving the desired bandwidth and redundancy.
2Reliability
If link aggregation is performed in the host OS, then bandwidth is improved, but CPU cycles are increased for link monitoring and traffic driving
Solution Approach 1:
The patent extracts the CPU-intensive link monitoring and traffic driving functions from the host OS and relocates them to dedicated aggregation offload engines within the HBA. This hardware acceleration eliminates the need for continuous CPU intervention in link aggregation operations, significantly reducing CPU cycle consumption while maintaining high bandwidth performance.
Solution Approach 2:
The patent replaces the software-based link aggregation mechanism running on the host CPU with a hardware-based aggregation offload engine. This substitution of mechanical (software) processing with hardware processing enables efficient link aggregation without the CPU overhead, achieving high bandwidth with minimal CPU resource consumption.
3Reliability
If link aggregation is enabled in the host OS, then redundancy is improved, but offload features like LRO and TSO are disabled
Solution Approach 1:
The patent segments the HBA functionality into separate aggregation offload engines that operate independently from the traditional offload feature handlers. This segmentation allows link aggregation operations to be handled by dedicated engines while preserving the ability to enable offload features like LRO and TSO on individual links, thus maintaining versatility while achieving redundancy.
Solution Approach 2:
The patent introduces aggregation offload engines as intermediary components that mediate between the link aggregation function and the offload features. These intermediaries coordinate the operations such that redundancy is achieved through aggregation while offload features remain enabled and functional, resolving the conflict between these two capabilities.
Data Source
AI summary
A new approach is proposed to offload of link aggregation from a host to a HBA in SRIOV mode. The HBA first creates one or more link aggregation offload engines each having one or more physical ports and to establish a first link between a VM running on the host and one of the link aggregation offload engines for network data transmission with the VM. Once a data packet is received from the VM over the first link, the link aggregation offload engine chooses a first physical port based on its link aggregation method and establish a second link with the chosen first physical port to transmit the packet out of the HBA. If the second link fails, the link aggregation offload engine then chooses a second physical ports and establish a third link with the chosen second physical port to transmit the packet out of the HBA device instead.


