Single-Interface VM Networking Across Overlay and Native Cloud Endpoints
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In a public cloud environment, guest virtual machines (VMs) cannot directly access both the cloud service provider's native network and a third-party managed logical network using a single network interface and routing table, as the underlying virtualization infrastructure is controlled by the service provider and not exposed to the end user.
Innovation Solution
Implement a managed forwarding element (MFE) kernel driver on the VM to create separate virtual adapters for accessing both the overlay and underlay networks, using a single routing table with priority settings to route traffic appropriately, and perform network address translation to enable communication between the two networks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single network interface is used in a public cloud VM, then the device complexity is reduced, but the VM cannot access both the cloud service provider's native network and the third-party logical network simultaneously
Solution Approach 1:
The patent segments the network interface functionality by creating two virtual adapters: one for the overlay network (logical network) and one for the underlay network (native network). This segmentation allows each adapter to handle specific network traffic independently, enabling the VM to access both networks simultaneously while maintaining a unified routing table.
Solution Approach 2:
The managed forwarding element (MFE) kernel driver acts as an intermediary between the VM's network stack and the two virtual adapters. It intercepts packets, determines the appropriate network destination, and forwards packets through the correct adapter, enabling unified routing without requiring separate routing tables.
2Measurement precision
If separate routing tables are used for overlay and underlay networks, then routing precision is improved, but the device complexity increases
Solution Approach 1:
The patent merges the routing functionality for both overlay and underlay networks into a single routing table. The MFE kernel driver enhances this unified routing table with metadata and logic to handle both network types, eliminating the need for separate routing tables while maintaining routing precision through interface metric prioritization.
Solution Approach 2:
The single routing table is designed to be universal, handling routing decisions for both overlay and underlay networks. The MFE kernel driver provides multi-functionality by interpreting routing table entries and applying appropriate forwarding rules based on the destination network type, making one routing table serve multiple purposes.
3Productivity
If the overlay virtual adapter is given higher routing priority, then overlay network access is improved, but access to underlay network endpoints becomes problematic
Solution Approach 1:
The patent applies local quality by making the overlay virtual adapter have higher default priority for most traffic, while the MFE kernel driver provides local exceptions for underlay network endpoints. When packets are destined for underlay endpoints, the driver intercepts them and redirects them through the underlay adapter, ensuring reliable underlay access while maintaining overlay priority for general traffic.
Solution Approach 2:
The MFE kernel driver implements feedback by continuously monitoring packet destinations and adjusting the effective routing path. When an underlay endpoint is detected as the destination, the driver modifies the routing decision to use the underlay adapter instead of the overlay adapter, ensuring proper traffic delivery while maintaining the overall overlay-priority routing structure.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A physical host machine of a public cloud system includes a set of processing units for executing instructions stored in non-transitory machine readable media. The physical host machine also includes a physical network interface cars (PNIC) and a non-transitory machine readable medium that stores a data compute node (DCN). The DCN includes first and second applications, first and second logical interfaces, a network stack, and a managed forwarding element (MFE). The first application is connected to the pNIC through the network stack, the first logical interface, and the MFE. The second application is connected to the PNIC through the network stack, the second logical interface, and the MFE.