Hypervisor VF MAC Filter Programming for VM Network Downtime

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual computing systems face inefficiencies in dynamically managing network resources for virtual machines, leading to downtime and packet loss when switching virtual machines between physical and virtual functions, due to the time-consuming process of creating and assigning device addresses and programming device filters.

Innovation Solution

The hypervisor delays programming the device address filter at startup, instead forwarding incoming packets directly to the virtual machine, and only programs the filter after detecting that the virtual driver is up and running, allowing for dynamic adaptation and reduced downtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If device address filters are programmed at startup to enable direct packet forwarding to virtual functions, then network efficiency is improved, but system downtime increases due to the time required to create and assign device addresses

Engineering Contradiction:
Improvenetwork efficiencyVSAvoidsystem downtime
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The hypervisor performs preliminary actions by creating virtual function devices and assigning device addresses before the virtual machine driver is loaded. This allows the device address filter to be programmed immediately once the driver becomes operational, eliminating the need to wait for driver loading while ensuring the driver is ready to handle packets.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the packet forwarding path based on the operational state of the virtual machine driver. Initially, packets are forwarded through the hypervisor when the driver is not ready. Once the driver is loaded and operational, the system dynamically switches to direct packet forwarding using the programmed device address filter, optimizing network efficiency in real-time.

Inventive Principle:
Principle #15Dynamics

2Speed

If device address filters are programmed early to enable direct forwarding, then packet forwarding speed is improved, but packet loss occurs if the virtual driver is not yet operational

Engineering Contradiction:
Improvepacket forwarding speedVSAvoidpacket delivery reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The hypervisor continuously monitors the operational status of the virtual machine driver and uses this feedback to determine when to program the device address filter. The filter is programmed only when feedback confirms the driver is loaded and ready, ensuring packets are forwarded directly without loss while maintaining high forwarding speed.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The hypervisor prepares the device address filter configuration in advance but delays actual programming until the driver is operational. This preliminary preparation ensures that when the driver becomes ready, the filter can be programmed immediately, enabling high-speed direct forwarding without packet loss.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the hypervisor forwards all packets through the virtual machine initially, then system reliability is improved by avoiding packet loss, but network efficiency decreases due to additional processing overhead

Engineering Contradiction:
Improvepacket delivery reliabilityVSAvoidnetwork efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically transitions from a reliable but inefficient packet forwarding mode (through the hypervisor) to an efficient direct forwarding mode (using device address filters). This dynamic adaptation ensures that once the virtual machine driver is operational, packets are forwarded directly, improving network efficiency while maintaining reliability through the pre-programmed filter.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The hypervisor performs preliminary packet forwarding through the virtual machine to ensure reliability during the driver loading phase. Once the driver is operational, the pre-programmed device address filter takes over, eliminating the need for hypervisor processing and significantly improving network efficiency while maintaining the reliability established during the initial phase.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11265247B2Downtime reduction with VF MAC filter programming by hypervisors
Publication Date: 2022.03.01 RED HAT INC
  • US11265247B2 patent drawing
  • US11265247B2 patent drawing
  • US11265247B2 patent drawing

AI summary

A method includes, with a hypervisor, receiving, with a Physical Function (PF) of a network device, a data packet destined for a virtual machine (VM), forwarding the data packet to the VM, detecting an event that indicates that a driver for a virtual network device associated with the VM is up, in response to detecting the event, programming a device address filter of the PF, and with the network device, after the device address filter is programmed, forwarding incoming data packets destined for the VM directly to a Virtual Function (VF) associated with the virtual network device.