Writing Device Drivers for Oracle® Solaris 11.2

Exit Print View

Updated: September 2014
 
 

Virtual Function (VF) Driver

A function that is associated with a Physical Function. A VF is a lightweight PCIe function that shares one or more physical resources with the Physical Function and with other VFs that are associated with the same PF. A VF driver exhibits the following characteristics:

  • Visible in both the root domain and I/O domain

  • Can initiate communication with its PF either through the HW mailbox or an OS–provided interface

  • Not visible in the root domain until the following conditions are satisfied:

    • The root domain has booted up

    • The PF driver attaches and invokes the configuration of the VF

    • The VFs are enabled by the root domain's Oracle Solaris IOV framework

    • The system firmware allocates resources to the VFs

  • Not visible in the I/O Domain until the following conditions are satisfied:

    • VFs are already enabled and are visible in the root domain

    • VFs are assigned to the I/O Domain

    • VFs are probed in the I/O Domain by the Oracle Solaris firmware (OBP)


Note - The SR-IOV Capable PF and VF drivers have to register Interrupt Resource Management (IRM) callbacks and provide support for this feature. See Chapter 8, Interrupt Handlers for details and usage of IRM interfaces.

Note - If the VF is a network VF, the following parameters can be configured after the numVFs are enabled. The configuration should be completed before the VFs are enabled.
  • mac-addr

  • vlan (Virtual LAN) ID

  • port-vlan-id

  • alt-mac-addrs

  • mtu