NAME
iovctl.conf
—
IOVCTL configuration file
DESCRIPTION
Theiovctl.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
AUTHORS
This manual page was written by Ryan Stone <rstone@FreeBSD.org>.