IOVCTL(8)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

✨ IOVCTL(8) ✨

okay so bestie, gather round, because this one is about iovctl β€” the PCI SR-IOV configuration utility from section 8 of the System Manager's Manual, and honestly? it's giving "I make virtual functions appear and disappear" and I'm obsessed πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

iovctl -C -f config-file [-n]
iovctl -D [-f config-file | -d device] [-n]
iovctl -S [-f config-file | -d device]

literally just three little shapes and each one does a different thing, no cap ✨


πŸ’– DESCRIPTION πŸ’–

The iovctl utility creates or destroys PCI Single-Root I/O Virtualization (SR-IOV) Virtual Functions (VFs). Yes that's a lot of capital letters, but stay with me 🫢

  • when you invoke it with the -C flag, iovctl creates VFs as children of the Physical Function (PF) configured in the specified configuration file
  • when you invoke it with the -D flag, iovctl destroys all VFs that are children of the specified device

Available PF devices can be seen in /dev/iov/ β€” like, go look, they're right there πŸ‘€

The following options are available:


🌸 OPTIONS 🌸

  • -C β€” Enable SR-IOV on the specified PF device and create VF children. This operation will fail if the PF already has VF children (rude, I know 😭). This option must be used in conjunction with the -f option.
  • -d device β€” Specify the PF device to use for the given operation. device may either be the name of a PF device, or a full path name to a node in /dev/iov/. This option may not be used with the -C option. pick a lane bestie πŸŽ€
  • -D β€” Delete all VF children of the specified PF device. This operation will fail if SR-IOV is not currently enabled on the specified device. no VFs? nothing to delete, sorry babe πŸ’€
  • -f config-file β€” Specify the pathname of the configuration file. For the -C option, this file will be used to specify all configuration values. For the -D and -S options, this file will only be used to specify the name of the PF device. main character file energy, different job depending on who's asking ✨
  • -n β€” Perform a dry-run. Perform all validation of the specified action and print what would be done, but do not perform the actual creation or destruction of VFs. This option may not be used with the -S flag. it's giving "manifesting but not committing" πŸ™ˆ
  • -S β€” Read the configuration schema from the specified device and print its contents to stdout. This action may be used to discover the configuration parameters supported on a given PF device. lowkey the most useful one for snooping around πŸ”₯
🌈 little side quest for -f: see iovctl.conf(5) for a description of the config file format and documentation of the configuration parameters that apply to all PF drivers. See the PF driver manual page for configuration parameters specific to particular hardware. iykyk πŸ’œ

πŸ‘‘ SEE ALSO πŸ‘‘


πŸ’œ AUTHORS πŸ’œ

This manual page was written by Ryan Stone <rstone@FreeBSD.org>. iconic of them, fr fr 🫢


and that's the whole thing, bestie β€” stay slay, stay configured, and remember: dry-run first, delete never (unless you meant to) πŸ’–

sign-off time πŸŽ€ this little gem comes from the Debian build of the page, dated May 31, 2020, and it lives in section 8 (System Manager's Manual) as IOVCTL(8) β€” so cute, so official, so periodt ✨

πŸ“¦ where this page comes from