# Host NIC VF Management

When you create an SR-IOV network, the plugin automatically performs the following actions:

- The plugin discovers all SR-IOV-capable Physical Functions (PFs) on each host by reading:

  ```
  ```
  /sys/class/net/*/device/sriov_totalvfs
  ```
  ```
- If Virtual Functions (VFs) are not enabled, the plugin installs and starts a persistent `systemd` service on the host. This service writes `sriov_totalvfs` to `sriov_numvfs`, ensuring that VFs remain enabled across reboots.
- The plugin creates and autostarts the libvirt `hostdev` network on each host.
- All SR-IOV networks that share the same Physical Function (PF) use a single libvirt hostdev pool on each host. The total number of VMs across all networks on that PF is limited by the NIC’s VF count (`sriov_totalvfs`). When you delete the last network that uses a given PF, the plugin automatically removes the corresponding hostdev pool from each host.

**SR-IOV Verification Commands**

Use the following commands to verify SR-IOV configuration on a host:

```
```
# Check the maximum supported VFs on the interface  
cat /sys/class/net/<interface>/device/sriov_totalvfs  
  
# Check the currently enabled VFs  
cat /sys/class/net/<interface>/device/sriov_numvfs
```
```
