The SR-IOV capable PF driver performs the following actions during attachment :
Calls the pciv_vf_config() function to obtain the number of VFs.
Obtains the device specific parameters for both the PF and VF and validates them.
Initializes the hardware accordingly
Calls the pciv_vf_config() interface to enable the VF
If the PF driver is a network driver, the driver will register with the GLDv3 framework using the mac_register() interface during attachment. The PF driver also performs class-specific initialization. This results in the following set of actions:
The GLDv3 interface becomes aware of the existence of the PF device.
A new set of MAC provider interfaces are exported by the PF driver. This process enables the MAC layer to become aware that the driver is a PF driver. The MAC layer also obtains more information about the VF driver.
See Chapter 19, Drivers for Network Devices and the Oracle Solaris Administration: Network Interfaces and Network Virtualization chapter in for more information about network drivers and interfaces.
The VF instances are now initialized. A VF driver is attached only if the VF is assigned to the root domain.