Man

Command Section
IOVCTL.CONF(5)            FreeBSD File Formats Manual           IOVCTL.CONF(5)

NAME
     iovctl.conf - IOVCTL configuration file

DESCRIPTION
     The iovctl.conf file is the configuration file for the iovctl(8) program.
     This file specifies configuration parameters for a single Physical
     Function (PF) device.  To configure SR-IOV on multiple PF devices, use
     one configuration file for each PF.  The locations of all iovctl(9)
     configuration files are specified in rc.conf(5).

     The iovctl.conf file uses UCL format.  UCL syntax is documented at the
     official UCL website: http://github.com/vstakhov/libucl.

     There are three types of sections in the iovctl.conf file.  A section is
     a key at the top level of the file with a list as its value.  The list
     may contain the keys specified in the OPTIONS section of this manual
     page.  Individual PF driver implementations may specify additional
     device-specific configuration keys that they will accept.  The order in
     which sections appear in iovctl.conf is ignored.  No two sections may
     have the same key.  For example, two sections for VF-1 must not be
     defined.

     The first section type is the PF section.  This section always has the
     key "PF"; therefore, only one such section may be defined.  This section
     defines configuration parameters that apply to the PF as a whole.

     The second section type is the VF section.  This section has the key
     "VF-" followed by a VF index.  VF indices start at 0 and always increment
     by 1.  Valid VF indices are in the range of 0 to (num_vfs - 1).  The VF
     index must be given as a decimal integer with no leading zeros.  This
     section defines configuration parameters that apply to a single VF.

     The third section type is the default section.  This section always has
     the key "DEFAULT"; therefore, only one such section may be specified.
     This section defines default configuration parameters that apply to all
     VFs.  All configuration keys that are valid to be applied to a VF are
     valid in this section.  An individual VF section may override a default
     specified in this section by providing a different value for the
     configuration parameter.  Note that the default section applies to ALL
     VFs.  The default section must appear before any VF sections.  The
     default section may appear before or after the PF section.

     The following option types are supported:

     boolean
             Accepts a boolean value of true or false.

     mac-addr
             Accepts a unicast MAC address specified as a string of the form
             xx:xx:xx:xx:xx:xx, where xx is one or two hexadecimal digits.

     string  Accepts any string value.

     uint8_t
             Accepts any integer in the range 0 to 255, inclusive.

     uint16_t
             Accepts any integer in the range 0 to 65535, inclusive.

     uint32_t
             Accepts any integer in the range 0 to (2**32 - 1), inclusive.

     uint64_t
             Accepts any integer in the range 0 to (2**64 - 1), inclusive.

OPTIONS
     The following parameters are accepted by all PF drivers:

     device (string)
             This parameter specifies the name of the PF device.  This
             parameter is required to be specified.

     num_vfs (uint16_t)
             This parameter specifies the number of VF children to create.
             This parameter may not be zero.  The maximum value of this
             parameter is device-specific.

     The following parameters are accepted by all VFs:

     passthrough (boolean)
             This parameter controls whether the VF is reserved for the use of
             the bhyve(8) hypervisor as a PCI passthrough device.  If this
             parameter is set to true, then the VF will be reserved as a PCI
             passthrough device and it will not be accessible from the host
             OS.  The default value of this parameter is false.

     See the PF driver manual page for configuration parameters specific to
     particular hardware.

EXAMPLES
     This sample file will create 3 VFs as children of the ix0 device.  VF-1
     and VF-2 are set as bhyve(8) passthrough devices through the use of the
     default section.  VF-0 is not configured as a passthrough device as it
     explicitly overrides the default.  VF-0 also sets a device-specific
     parameter named mac-addr.

          PF {
                  device : "ix0";
                  num_vfs : 3;
          }

          DEFAULT {
                  passthrough : true;
          }

          VF-0 {
                  mac-addr : "02:56:48:7e:d9:f7";
                  passthrough : false;
          }

SEE ALSO
     rc.conf(5), iovctl(8)

AUTHORS
     This manual page was written by Ryan Stone <[email protected]>.

FreeBSD 11.1-RELEASE-p4          July 8, 2015          FreeBSD 11.1-RELEASE-p4
Command Section