Issue with SR-IOV Virtual Functions (VF) Not Working in Cloned Debian VM

doremo

New Member
Apr 11, 2024
13
1
3
Hi everyone,

I’ve been testing SR-IOV on my Debian VMs and encountered a critical issue that I hope someone can help with.

Issue Description:
When I fresh install a Debian VM guest, PCI passthrough with Virtual Functions (VFs) works fine. The VM can obtain an IP from my DHCP server and communicate normally.

However, if I clone a VM from my template (whether as a full clone or a linked clone), the VF does not work.

The cloned VM fails to obtain an IP address from DHCP.

It cannot establish network connectivity.

Everything works as expected only with a fresh installation.

Why This is a Big Issue for Me:
I plan to use VFs on my existing VMs, and all my servers run Debian, which I typically deploy by cloning from a template. If VFs don’t work on cloned VMs, it disrupts my deployment process.

What I’ve Tried:
1. Verified that the VF is assigned to the cloned VM.

2. Checked network configurations and compared with a fresh install.

3. Ensured that the cloned VM recognizes the VF in lspci.

4. Restarted networking services and tested manual configurations.



Questions:
Has anyone encountered a similar issue with SR-IOV and cloned Debian VMs?

I appreciate any insights or suggestions. Thanks in advance!
 
Has nothing to do with the SR-IOV but with the fact you cloned your Debian install.

Not sure what flavor of Debian, but look at /etc/machine-id if systemd. Also, don’t try to change it manually, systemd has it in memory. Delete the file and reboot, hopefully it will be regenerated, if it keeps coming back the same delete it from a rescue disk.

Your DHCP server thinks your VM and your cloned VM are the same machine, so it will give the same IP, which will be detected there is another machine with the same IP, which will reject the IP and ask for another on, which your DHCP server thinks your VM and your cloned VM are the same machine.

That is presuming you also don’t have the same MAC on both machines.
 
Last edited: