1.\" 2.\" Copyright (c) 2014 Sandvine Inc. 3.\" All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright 9.\" notice, this list of conditions and the following disclaimer. 10.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" notice, this list of conditions and the following disclaimer in the 12.\" documentation and/or other materials provided with the distribution. 13.\" 14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24.\" SUCH DAMAGE. 25.\" 26.Dd August 10, 2026 27.Dt IOVCTL 8 28.Os 29.Sh NAME 30.Nm iovctl 31.Nd "PCI SR-IOV configuration utility" 32.Sh SYNOPSIS 33.Nm 34.Fl C 35.Fl f Ar config-file 36.Op Fl n 37.Nm 38.Fl D 39.Op Fl f Ar config-file | Fl d Ar device 40.Op Fl n 41.Nm 42.Fl L 43.Op Fl f Ar config-file | Fl d Ar device 44.Nm 45.Fl S 46.Op Fl f Ar config-file | Fl d Ar device 47.Sh DESCRIPTION 48The 49.Nm 50utility configures and inspects PCI Single-Root I/O Virtualization 51.Pq SR-IOV 52Virtual Functions 53.Pq VFs . 54When invoked with the 55.Fl C 56flag, 57.Nm 58creates VFs as children of the Physical Function 59.Pq PF 60configured in the specified configuration file. 61When invoked with the 62.Fl D 63flag, 64.Nm 65destroys all VFs that are children of the specified device. 66Available PF devices can be seen in 67.Pa /dev/iov/ . 68.Pp 69The following options are available: 70.Bl -tag -width indent 71.It Fl C 72Enable SR-IOV on the specified PF device and create VF children. 73This operation will fail if the PF already has VF children. 74This option must be used in conjunction with the 75.Fl f 76option. 77.It Fl d Ar device 78Specify the PF device to use for the given operation. 79.Ar device 80may either be the name of a PF device, or a full path name to a node in 81.Pa /dev/iov/ . 82This option may not be used with the 83.Fl C 84option. 85.It Fl D 86Delete all VF children of the specified PF device. 87This operation will fail if SR-IOV is not currently enabled on the specified 88device. 89.It Fl f Ar config-file 90Specify the pathname of the configuration file. 91For the 92.Fl C 93option, this file will be used to specify all configuration values. 94For the 95.Fl D , 96.Fl L , 97and 98.Fl S 99options, this file will only be used to specify the name of the PF device. 100.Pp 101See 102.Xr iovctl.conf 5 103for a description of the config file format and documentation of the 104configuration parameters that apply to all PF drivers. 105See the PF driver manual page for configuration parameters specific to 106particular hardware. 107.It Fl n 108Perform a dry-run. 109Perform all validation of the specified action and print what would be done, 110but do not perform the actual creation or destruction of VFs. 111This option may not be used with the 112.Fl L 113or 114.Fl S 115flag. 116.It Fl L 117Report the current PCI SR-IOV topology of the specified PF. 118The output identifies the PF and each configured VF by PCI location, reports 119whether each VF is attached to a host driver, and identifies bindings to 120.Va ppt . 121An unconfigured PF reports its enable state and VF capacity without any 122per-VF records. 123A passthrough binding does not imply that a running virtual machine currently 124owns the VF. 125See 126.Xr vmm 4 127for passthrough-device configuration. 128.It Fl S 129Read the configuration schema from the specified device and print its contents 130to stdout. 131This action may be used to discover the configuration parameters supported on 132a given PF device. 133.El 134.Pp 135For network devices, use 136.Xr ifconfig 8 137with the 138.Fl v 139option on the PF interface to display NIC-specific VF initialization, 140resource, and policy state. 141.Sh SEE ALSO 142.Xr vmm 4 , 143.Xr iovctl.conf 5 , 144.Xr rc.conf 5 , 145.Xr ifconfig 8 146.Sh AUTHORS 147This manual page was written by 148.An Ryan Stone Aq Mt rstone@FreeBSD.org . 149