Patent ID: 8201190

Claim:
An apparatus comprising: (A) at least one processor; (B) a memory coupled to the at least one processor; (C) first and second logical partitions defined on the apparatus, the first logical partition controlling a shared network I/O adapter and the second logical partition using the shared network I/O adapter controlled by the first logical partition; (D) an I/O adapter sharing mechanism residing in the memory and executed by the at least one processor, the I/O adapter sharing mechanism comprising: (D1) an I/O adapter device driver in the first logical partition, the I/O adapter device driver including a hardware interface to the shared network I/O adapter; (D2) a virtual device driver in the second logical partition, wherein the virtual device driver provides a set of functions at least partially determined by querying the I/O adapter device driver in the first logical partition for its available functions; and (E) a communication mechanism that controls exchange of information between the virtual device driver and the I/O adapter device driver, wherein the communication mechanism comprises a partition manager that communicates between the first and second logical partitions, wherein the communication mechanism further comprises a hosting interface in the first logical partition that communicates between the I/O adapter device driver and the partition manager, wherein the partition manager communicates between the hosting interface in the first logical partition and the virtual device driver in the second logical partition.