On Wed, Apr 07, 2021 at 09:17:36 +0200, Peter Krempa wrote: > On Tue, Apr 06, 2021 at 16:31:32 +0100, Daniel Berrange wrote: > > PCI devices can be associated with a unique integer index that is > > exposed via ACPI. In Linux OS with systemd, this value is used for > > provide a NIC device naming scheme that is stable across changes > > in PCI slot configuration. > > > > Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> > > --- > > docs/formatdomain.rst | 6 +++ > > docs/schemas/domaincommon.rng | 73 +++++++++++++++++++++++++++++++++++ > > src/conf/device_conf.h | 3 ++ > > src/conf/domain_conf.c | 12 ++++++ > > 4 files changed, 94 insertions(+) > > > > diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst > > index 7ba32ea9c1..5db0aac77a 100644 > > --- a/docs/formatdomain.rst > > +++ b/docs/formatdomain.rst > > @@ -4363,6 +4363,7 @@ Network interfaces > > <mac address='52:54:00:5d:c7:9e'/> > > <boot order='1'/> > > <rom bar='off'/> > > + <acpi index='4'/> > > </interface> > > </devices> > > ... > > @@ -4389,6 +4390,11 @@ when it's in the reserved VMware range by adding a ``type="static"`` attribute > > to the ``<mac/>`` element. Note that this attribute is useless if the provided > > MAC address is outside of the reserved VMWare ranges. > > > > +:since:`Since 7.3.0`, one can set the ACPI index against network interfaces. > > +With some operating systems (eg Linux with systemd), the ACPI index is used > > +to provide network interface device naming, that is stable across changes > > +in PCI addresses assigned to the device. > > Any range limits or uniqueness requirements worth mentioning? QEMU / ACPI spec seems to be enforcing unique indexes: commit 4fd7da4c0336c8fd822cd808d62f7ff8c9936aef Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Mar 15 14:00:59 2021 -0400 pci: acpi: ensure that acpi-index is unique it helps to avoid device naming conflicts when guest OS is configured to use acpi-index for naming. Spec ialso says so: PCI Firmware Specification Revision 3.2 4.6.7. _DSM for Naming a PCI or PCI Express Device Under Operating Systems " Instance number must be unique under \_SB scope. This instance number does not have to be sequential in a given system configuration. " The code isn't checking whether they are declared as unique.