Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Virtualizing Network Adapters using OS Services in a Hypervisor Environment

IP.com Disclosure Number: IPCOM000030919D
Original Publication Date: 2004-Sep-01
Included in the Prior Art Database: 2004-Sep-01
Document File: 1 page(s) / 6K

Publishing Venue

IBM

Abstract

When multiple operating systems are run on a single machine using a hypervisor and virtualization, special function must be added so more than one OS can use the same networking adapter. A special case is one operating system (the Service OS) provides system management functions including controlling network access and other operating system or systems (the Capability OS) provide normal function. The network adapter must appear to operate normally to the Capability OS. The Service OS must have normal operation of the network adapter, but must also be able to restrict or filter the flow of packets to and from the Capability OS. This publication describes the details of how the virtualization of the ethernet card would be accomplished that would provide the functionality required.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 1

Virtualizing Network Adapters using OS Services in a Hypervisor Environment

An operating system has program code that handles the details of the networking adapters. Typically this code is called the adapter driver code . There is an operating system-specified interface to this code that all drivers support . In the Windows operating system, this interface is call NDIS. In other operating systems, other similar interfaces are used. Some drivers may also support additional interfaces for hardware specific functions such as power management on wireless networking cards . This invention is to place a new piece of code on top of this standard driver interface below the normal networking stack in the Service OS to inspect, reroute and possible discard network packets. Inserting code at this position is a well know technique (call an "NDIS shim" in Windows). The NDIS API (and similar APIs on non-Windows operating systems) are provided to support new network devices and new network protocols . Use when more than one operating system is present was not contemplated when these APIs were designed, so this is a new use of the existing APIs . Then a new driver (called a virtual network driver) that supports the standard adapter interface (NDIS) is installed in the Capability OS. The shim communicates with the virtual network driver to transmit packets to and from the Capability OS.

At boot time, the hypervisor loads first. It assigns all network adapters to the Service OS. All other hardware is assigned to the capability OS or OS'es . The service OS loads a normal ethe...