The dynamic SR-IOV feature removes the following static SR-IOV requirements:
Root domain. Initate a delayed reconfiguration on the root domain, create or destroy a virtual function, and reboot the root domain
I/O domain. Stop the I/O domain, add or remove a virtual function, and start the I/O domain
With dynamic SR-IOV you can dynamically create or destroy a virtual function without having to initiate a delayed reconfiguration on the root domain. A virtual function can also be dynamically added to or removed from an I/O domain without having to stop the domain. The Logical Domains Manager communicates with the Logical Domains agent and the Oracle Solaris I/O virtualization framework to effect these changes dynamically.
For information about the required PCIe SR-IOV software and firmware versions, see SR-IOV Hardware and Software Requirements.
To dynamically create or destroy a virtual function, ensure that the following conditions are met:
I/O virtualization has been enabled for a PCIe bus before you begin to configure virtual functions.
The OS that runs on the root domain and on I/O domains must be at least the Oracle Solaris 11.1 SRU 10 OS.
The physical function device is not configured in the OS or is in a multipathing configuration. For example, you can unplumb an Ethernet SR-IOV device or have it in an IPMP or an aggregation to successfully create or destroy a virtual function.
An operation to create or destroy a virtual function requires that the physical function device driver toggle between the offline and online states. A multipathing configuration permits the device driver to toggle between these states.
The virtual function is either not in use or in a multipathing configuration before you remove a virtual function from an I/O domain. For example, you can either unplumb an Ethernet SR-IOV virtual function or not use it in an IPMP configuration.