Cross-Platform Virtual Switch via PCIe SR-IOV Bridge

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual switches in data centers face limitations due to their high dependence on hypervisor/VMM software, leading to scalability and processing bottlenecks, and incompatibility with commercial hypervisor/VMM software platforms.

Innovation Solution

A cross-platform virtual switch solution is implemented using a Peripheral Component Interconnect Express (PCIE) device supporting Single-Root Input/Output Virtualization (SR-IOV), where a Physical Function (PF) driver manages the device and Virtual Function (VF) drivers on each Virtual Machine (VM), allowing for dynamic configuration and resource allocation to enable network switching between VMs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a virtual switch runs in kernel mode of hypervisor/VMM, then it can directly receive and forward network data packets, but it becomes highly dependent on the hypervisor/VMM software platform

Engineering Contradiction:
Improvenetwork data packet processing efficiencyVSAvoidcompatibility with different hypervisor/VMM platforms
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a bridge device as an intermediary between the virtual switch and the PCIE network interface card. The bridge device includes a bridge driver that runs in user space, decoupling the virtual switch from direct dependence on the hypervisor/VMM kernel mode. This intermediary layer enables the virtual switch to communicate with the network interface card without requiring platform-specific kernel interfaces, thereby improving compatibility while maintaining processing efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a virtual switch uses software processing, then it has high flexibility in configuration, but it encounters scalability and processing performance bottlenecks

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidnetwork data packet processing throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the network processing functions by separating the virtual switch from the physical network interface card driver. The virtual switch handles high-level switching logic and configuration flexibility, while the bridge driver and PCIE device handle low-level packet processing with hardware acceleration. This segmentation allows the system to maintain configuration flexibility at the virtual switch level while achieving high processing throughput through hardware-assisted packet handling at the driver level.

Inventive Principle:
Principle #1Segmentation

3Reliability

If commercial hypervisor/VMM software does not open kernel interfaces to third-party virtual switch software, then proprietary control is maintained, but third-party virtual switches cannot run on these platforms

Engineering Contradiction:
Improveproprietary system controlVSAvoidthird-party virtual switch compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The bridge driver serves as a standardized intermediary interface between the virtual switch and the hypervisor/VMM platform. By running in user space and using standard PCIE interfaces, the bridge driver communicates with the virtual switch without requiring proprietary kernel interfaces. This approach maintains the hypervisor's proprietary control over kernel resources while enabling third-party virtual switches to run on commercial platforms through the standardized user-space interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10554485B2Method for configuring network, network system, and device
Publication Date: 2020.02.04 HUAWEI TECH CO LTD
  • US10554485B2 patent drawing
  • US10554485B2 patent drawing
  • US10554485B2 patent drawing

AI summary

A network virtualization configuration method, a network system, and a device, where the method includes creating a switch virtual machine (VM), where the switch VM is configured to run a virtual switch, responding to a Peripheral Component Interconnect (PCI) scanning of the switch VM, configuring, using a physical function (PF) driver, a PCI Express (PCIE) device to allocate a corresponding network resource to the switch VM, and initializing the PCIE device using the PF driver, where a default forwarding rule of the initialized PCIE device includes setting a default forwarding port of the PCIE device to a VF receiving queue (VF 0) corresponding to the switch VM. Hence, a cross-platform virtual switch solution can be implemented, thereby improving flexibility of deploying a virtual switch, and implementing compatibility with different hypervisors/VM monitors (VMMs).