Systems and methods for SR-IOV pass-thru via an intermediary device

US9021475B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9021475-B2
Application numberUS-201213463287-A
CountryUS
Kind codeB2
Filing dateMay 3, 2012
Priority dateMay 4, 2011
Publication dateApr 28, 2015
Grant dateApr 28, 2015

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

This disclosure describes a system for Single Root I/O Virtualization (SR-IOV) pass-thru for network packet processing via a virtualized environment of a device. The system includes a device comprising a virtualized environment and a plurality of virtual machines having a virtual network interface for receiving and transmitting network packets. A driver for the physical network interface of the device creates a plurality of virtual devices corresponding to the physical network interface, which appear as a Peripheral Component Interconnect (PCI) device to the virtualized environment. A virtual device of the plurality of virtual devices is assigned via the virtualized environment to each virtual machine of the plurality of virtual machines. The virtual machine uses the virtual device assigned to the virtual machine, to receive and transmit network packets via the physical network interface of the device.

First claim

Opening claim text (preview).

What is claimed: 1. A method for Single Root I/O Virtualization (SR-IOV) pass-thru for network packet processing via a virtualized environment of a device, the method comprising: (a) establishing, on a device, a virtualized environment comprising a service virtual machine creating a plurality of virtual machines, each virtual machine of the plurality of virtual machines having a virtual network interface for receiving and transmitting network packets; (b) accessing, by the service virtual machine, a first driver for a physical network interface of the device to create a plurality of virtual devices responsive to a configuration of the first driver via a user interface provided by the service virtual machine, the plurality of virtual devices corresponding to the physical network interface, the physical network interface comprising a Single Root I/O Virtualization (SR-IOV) enabled device, each virtual device of the plurality of virtual devices appearing as a Peripheral Component Interconnect (PCI) device to the virtualized environment; (c) assigning, via the service virtual machine, a virtual device of the plurality of virtual devices to each virtual machine of the plurality of virtual machines, wherein each virtual machine of the plurality of virtual machines is an unprivileged domain comprising a second driver to communicate to the virtual device; and (d) receiving and transmitting, by the virtual machine using the virtual device assigned to the virtual machine while bypassing the service virtual machine, network packets via the physical network interface of the device. 2. The method of claim 1 , wherein step (a) further comprises executing, by the device intermediary to a plurality of clients and a plurality of severs, each virtual machine of the plurality of virtual machines as one of a virtualized packet processing engine or a virtualized application delivery controller. 3. The method of claim 1 , wherein step (a) further comprises executing, by the device comprising multiple cores, each virtual machine on a corresponding core of the device. 4. The method of claim 1 , wherein step (a) further comprises establishing, by the device, the virtual network interface comprising one of an emulated network interface card or a para-virtualized network interface card. 5. The method of claim 1 , wherein step (b) further comprises accessing the first driver to create a predetermined number of virtual devices for the physical network interface. 6. The method of claim 1 , wherein step (b) further comprises accessing the first driver to create a virtual device that comprises a promiscuous mode. 7. The method of claim 1 , wherein step (c) further comprises assigning, via the service virtual machine, each virtual device to a virtual machine, each virtual machine identified by a global unique identifier. 8. The method of claim 1 , wherein step (d) further comprises receiving and transmitting, by the virtual machine, network packets via the physical network interface of the device without processing of the network packets by the service virtual machine. 9. A system for Single Root I/O Virtualization (SR-IOV) pass-thru for network packet processing via a virtualized environment of a device, the system comprising: a device comprising a virtualized environment; a service virtual machine of the virtualized environment creating a plurality of virtual machines of the virtualized environment; the plurality of virtual machines of the virtualized environment, each virtual machine of the plurality of virtual machines having a virtual network interface for receiving and transmitting network packets; a physical network interface of the device, the physical network interface comprising a Single Root I/O Virtualization (SR-IOV) enabled device; a first driver for the physical network interface of the device accessed by the service virtual machine to create a plurality of virtual devices responsive to a configuration of the first driver via a user interface provided by the service virtual machine, the plurality of virtual devices corresponding to the physical network interface, each virtual device of the plurality of virtual devices appearing as a Peripheral Component Interconnect (PCI) device to the virtualized environment; wherein via the service virtual machine a virtual device of the plurality of virtual devices is assigned to each virtual machine of the plurality of virtual machines, wherein each virtual machine of the plurality of virtual machines is an unprivileged domain comprising a second driver to communicate to the virtual device; and wherein the virtual machine, using the virtual device assigned to the virtual machine, receives and transmits network packets via the physical network interface of the device while bypassing the service virtual machine. 10. The system of claim 9 , wherein the device is intermediary to a plurality of clients and a plurality of severs and each virtual machine of the plurality of virtual machines comprises one of a virtualized packet processing engine or a virtualized application delivery controller. 11. The system of claim 9 , wherein the device comprises multiple cores and the device executes each virtual machine on a corresponding core of the device. 12. The system of claim 9 , wherein the virtual network interface comprises one of an emulated network interface card or a para-virtualized network interface card. 13. The system of claim 9 , wherein the first driver creates a predetermined number of virtual devices for the physical network interface. 14. The system of claim 9 , wherein the first driver creates a virtual device that comprises a promiscuous mode. 15. The system of claim 9 , wherein each virtual device is assigned to a virtual machine, each virtual machine identified by a global unique identifier. 16. The system of claim 9 , wherein the virtual machine receives and transmits network packets via the physical network interface of the device the physical network interface of the device without processing of the network packets by the service virtual machine.

Assignees

Inventors

Classifications

  • Para-virtualisation, i.e. guest operating system has to be modified · CPC title

  • where the program performs an interfacing function, e.g. device driver (G06F13/105 takes precedence; contention policies within device drivers G06F9/4881; scheduling within device drivers G06F9/52) · CPC title

  • I/O management, e.g. providing access to device drivers or storage · CPC title

  • for initial configuration or provisioning, e.g. plug-and-play · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9021475B2 cover?
This disclosure describes a system for Single Root I/O Virtualization (SR-IOV) pass-thru for network packet processing via a virtualized environment of a device. The system includes a device comprising a virtualized environment and a plurality of virtual machines having a virtual network interface for receiving and transmitting network packets. A driver for the physical network interface of the…
Who is the assignee on this patent?
Nimmagadda Chitti, Mirani Rajiv, Goyal Raghu, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F9/5077. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 28 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).