Patent ID: 8739177

Claim:
A method of sharing a physical NIC device among multiple virtual machines comprising: receiving, by a virtual network interface card (NIC) driver of a customer operating system (OS) running in a customer virtual machine on a computing system, a customer OS request packet for transmission by a physical NIC driver over a network coupled to the computing system, the customer OS request packet comprising OS related information and media access control frame information; extracting, by the virtual NIC driver of the customer OS, the media access control frame information from the customer OS request packet; discarding the OS related information from the customer OS request packet; copying the media access control frame information extracted from the customer OS request packet into a free block of shared memory of the computing system and appending the block to a transmission queue in the shared memory; fetching the block of shared memory from the transmission queue by a virtual NIC driver of a service OS running in a service virtual machine; repackaging, by the virtual NIC driver of the service OS, the extracted media access control frame information from the fetched block of shared memory to generate a new service OS request packet that is different from the customer OS request packet; passing the new service OS request packet to a service OS network stack component of the service OS; routing the new service OS request packet, by a bridge driver of the service OS network stack component, to the physical NIC driver; and sending, by the physical NIC driver, the new service OS request packet over the network via the physical NIC device.