Virtualization of vendor specific network interfaces of self-virtualizing input/output device virtual functions
First Claim
Patent Images
1. A method of accessing a self-virtualizing input/output (IO) resource with multiple logical partitions in a data processing system, the method comprising:
- interfacing a logical partition of the multiple logical partitions to an associated adjunct partition through a vendor-independent virtual network partition interface, the adjunct partition including a vendor independent server virtual network partition interface device driver configured to interface with the logical partition and a resource-specific device driver configured to interface with a virtual function or queue pair of the self-virtualizing IO resource, wherein the virtual partition interface interfaces the client virtual partition interface device driver with the server virtual partition interface device driver; and
in the logical partition, accessing the self-virtualizing IO resource by communicating with the vendor independent server virtual network partition interface device driver over the vendor-independent virtual network partition interface using a vendor-independent client virtual network partition interface device driver resident in the logical partition,wherein each of the multiple logical partitions is interfaced to the self-virtualizing IO resource through an associated adjunct partition, wherein each adjunct partition couples the associated logical partition to one of a virtual function or a queue pair of the self-virtualizing IO resource, and wherein the adjunct partition includes a separate dispatchable state and employs a virtual address space donated from the logical partition or a hypervisor of the data processing system.
1 Assignment
0 Petitions
Accused Products
Abstract
A vendor independent partition interface between a logical partition and an adjunct partition associated with a self-virtualizing IO resource is used to effectively abstract away vender-specific interface details for the self-virtualizing IO resource. By doing so, vender-specific implementation details may be isolated from the operating systems resident in logical partitions, thus requiring only changes in vendor specific firmware in order to support new or revised self-virtualizing IO resources.
71 Citations
16 Claims
-
1. A method of accessing a self-virtualizing input/output (IO) resource with multiple logical partitions in a data processing system, the method comprising:
-
interfacing a logical partition of the multiple logical partitions to an associated adjunct partition through a vendor-independent virtual network partition interface, the adjunct partition including a vendor independent server virtual network partition interface device driver configured to interface with the logical partition and a resource-specific device driver configured to interface with a virtual function or queue pair of the self-virtualizing IO resource, wherein the virtual partition interface interfaces the client virtual partition interface device driver with the server virtual partition interface device driver; and in the logical partition, accessing the self-virtualizing IO resource by communicating with the vendor independent server virtual network partition interface device driver over the vendor-independent virtual network partition interface using a vendor-independent client virtual network partition interface device driver resident in the logical partition, wherein each of the multiple logical partitions is interfaced to the self-virtualizing IO resource through an associated adjunct partition, wherein each adjunct partition couples the associated logical partition to one of a virtual function or a queue pair of the self-virtualizing IO resource, and wherein the adjunct partition includes a separate dispatchable state and employs a virtual address space donated from the logical partition or a hypervisor of the data processing system. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus, comprising:
-
at least one processor; and program code configured upon execution by the at least one processor to interface a self-virtualizing input/output (IO) resource with multiple logical partitions in a data processing system by interfacing a logical partition of the multiple logical partitions to an associated adjunct partition through a vendor-independent virtual network partition interface, wherein the adjunct partition includes a vendor independent server virtual network partition interface device driver configured to interface with the logical partition and a resource-specific device driver configured to interface with a virtual function or queue pair of the self-virtualizing IO resource, wherein the virtual partition interface interfaces the client virtual partition interface device driver with the server virtual partition interface device driver, and wherein the vendor-independent server virtual network partition interface device driver is configured to communicate over the vendor-independent virtual network partition interface with a vendor-independent client virtual network partition interface device driver resident in the logical partition; wherein each of the multiple logical partitions is interfaced to the self-virtualizing IO resource through an associated adjunct partition, wherein each adjunct partition couples the associated logical partition to one of a virtual function or a queue pair of the self-virtualizing IO resource, and wherein the adjunct partition includes a separate dispatchable state and employs a virtual address space donated from the logical partition or a hypervisor of the data processing system. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A program product, comprising:
-
a non-transitory computer readable medium; and program code stored on the computer readable medium and configured upon execution to interface a self-virtualizing input/output (IO) resource with multiple logical partitions in a data processing system by interfacing a logical partition of the multiple logical partitions to an associated adjunct partition through a vendor-independent virtual network partition interface, wherein the adjunct partition includes a vendor independent server virtual network partition interface device driver configured to interface with the logical partition and a resource-specific device driver configured to interface with a virtual function or queue pair of the self-virtualizing IO resource, wherein the virtual partition interface interfaces the client virtual partition interface device driver with the server virtual partition interface device driver, and wherein the vendor-independent server virtual network partition interface device driver is configured to communicate over the vendor-independent virtual network partition interface with a vendor-independent client virtual network partition interface device driver resident in the logical partition; wherein each of the multiple logical partitions is interfaced to the self-virtualizing IO resource through an associated adjunct partition, wherein each adjunct partition couples the associated logical partition to one of a virtual function or a queue pair of the self-virtualizing IO resource, and wherein the adjunct partition includes a separate dispatchable state and employs a virtual address space donated from the logical partition or a hypervisor of the data processing system. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method of developing an adjunct partition for use in providing access to a self-virtualizing input/output (IO) resource by at least one logical partition in a data processing system, the method comprising:
-
developing a resource-specific device driver configured to interface with a virtual function or queue pair of the self-virtualizing IO resource; packaging the resource-specific device driver in an adjunct partition along with a vendor-independent server virtual network partition interface device driver, the vendor-independent server virtual network partition interface device driver configured to communicate with a vendor independent client virtual network partition interface device driver resident in a logical partition over a vendor-independent virtual network partition interface, wherein the virtual partition interface interfaces the client virtual partition interface device driver with the server virtual partition interface device driver, wherein the adjunct partition is a firmware component, and wherein the adjunct partition includes a separate dispatchable state and employs a virtual address space donated from an associated logical partition or a hypervisor of the data processing system; and testing the adjunct partition with the resource-specific device driver and vendor-independent server virtual network partition interface device driver packaged therein, wherein testing includes testing communications between the logical partition and the self-virtualizing IO resource using the adjunct partition.
-
Specification