Intel® 82599 SR-IOV Driver Companion Guide
Overview of the Intel ixgbe SR-IOV Driver Implementation
This document is designed to assist those wishing to use the SR-IOV capabilities within the Intel® 82599 10 Gigabit Ethernet Controller. The document is intended to be a companion to the Intel® 82599 10 Gigabit Ethernet Controller Datasheet. The datasheet documents the controller. It includes a description of the virtualization features and registers for the control of those features.
This document assumes knowledge of Ethernet device drivers and discusses SR-IOV portions of the Open Source Physical Function driver and the Linux* Virtual Function driver. This document is intended to be a companion for the Intel ixgbe 126.96.36.199 and ixgbevf 1.0.8 drivers. As Intel releases updates to these drivers, there may be new features not discussed within this document. This document will be updated periodically to reflect additional capabilities within the drivers, please make sure you have the latest version of this document.
Current I/O Virtualization techniques have their advantages and disadvantages. None are based upon any sort of industry standard.
The industry recognizes the problems of the alternative architectures and is developing new devices that are natively shareable. These devices replicate the resources necessary for each VM to be directly connected to the I/O device so that the main data movement can occur without Hypervisor involvement.
Natively shared devices will typically provide unique memory space, work queues, interrupts, and command processing for each interface they expose, while utilizing common shared resources behind the host interface. These shared resources still need to be managed and will typically expose one set of management registers to a trusted partition in the Hypervisor.
Read the full Intel® 82599 SR-IOV Driver Companion Guide.