Создавая домен с помощью virsh, я всегда предполагал, что «слот» PCI-карты относится к тому слоту на материнской плате, в котором она находится. Однако, похоже, это не два случая, карты в двух разных физических слотах назначаются в тот же "слот" по virsh. Первые два устройства являются частью GTX 1070, третье - USB-карта Sonnet PCI.
Кроме того, что это за два разных идентификатора шины? Идентификатор автобуса первого - 67 или 43?
~$ virsh nodedev-dumpxml pci_0000_43_00_0
<device>
<name>pci_0000_43_00_0</name>
<path>/sys/devices/pci0000:40/0000:40:01.3/0000:43:00.0</path>
<parent>pci_0000_40_01_3</parent>
<driver>
<name>nouveau</name>
</driver>
<capability type='pci'>
<domain>0</domain>
<bus>67</bus>
<slot>0</slot>
<function>0</function>
<product id='0x1b81'>GP104 [GeForce GTX 1070]</product>
<vendor id='0x10de'>NVIDIA Corporation</vendor>
<iommuGroup number='39'>
<address domain='0x0000' bus='0x43' slot='0x00' function='0x0'/>
<address domain='0x0000' bus='0x43' slot='0x00' function='0x1'/>
</iommuGroup>
<pci-express>
<link validity='cap' port='0' speed='8' width='16'/>
<link validity='sta' speed='2.5' width='8'/>
</pci-express>
</capability>
</device>
~$ virsh nodedev-dumpxml pci_0000_43_00_1
<device>
<name>pci_0000_43_00_1</name>
<path>/sys/devices/pci0000:40/0000:40:01.3/0000:43:00.1</path>
<parent>pci_0000_40_01_3</parent>
<driver>
<name>snd_hda_intel</name>
</driver>
<capability type='pci'>
<domain>0</domain>
<bus>67</bus>
<slot>0</slot>
<function>1</function>
<product id='0x10f0'>GP104 High Definition Audio Controller</product>
<vendor id='0x10de'>NVIDIA Corporation</vendor>
<iommuGroup number='39'>
<address domain='0x0000' bus='0x43' slot='0x00' function='0x0'/>
<address domain='0x0000' bus='0x43' slot='0x00' function='0x1'/>
</iommuGroup>
<pci-express>
<link validity='cap' port='0' speed='8' width='16'/>
<link validity='sta' speed='2.5' width='8'/>
</pci-express>
</capability>
</device>
~$ virsh nodedev-dumpxml pci_0000_0a_00_0
<device>
<name>pci_0000_0a_00_0</name>
<path>/sys/devices/pci0000:00/0000:00:03.1/0000:0a:00.0</path>
<parent>pci_0000_00_03_1</parent>
<driver>
<name>xhci_hcd</name>
</driver>
<capability type='pci'>
<domain>0</domain>
<bus>10</bus>
<slot>0</slot>
<function>0</function>
<product id='0x1242'>ASM1142 USB 3.1 Host Controller</product>
<vendor id='0x1b21'>ASMedia Technology Inc.</vendor>
<iommuGroup number='18'>
<address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
</iommuGroup>
<numa node='0'/>
<pci-express>
<link validity='cap' port='1' speed='5' width='2'/>
<link validity='sta' speed='5' width='2'/>
</pci-express>
</capability>
</device>
«Шина» относится к шине PCI / PCI-X / PCI Express от набора микросхем материнской платы, к которой подключены устройства. Это может быть или не быть через реальные слоты на плате; например, встроенные порты Ethernet находятся на отдельной шине от слотов расширения, которые принимают вашу видеокарту.
«Слот» относится к пространству на шине PCI, к которому подключено одно физическое устройство, которое электрически отличается от других «слотов» на этой шине. Например, два разных USB-контроллера, занимающих два разных слота. Или ваша видеокарта занимает другой слот, чем RAID-HBA.
Обратите внимание: хотя вы спрашивали о двух разных физических устройствах, использующих один и тот же слот, ничто из того, что вы опубликовали в своем вопросе, не демонстрирует, что это происходит. Действительно, этого не происходит. Слоты физически являются частью шины, и слот 0 на одной шине отличается от слота 0 на другой шине.
«Функция» относится к подмножеству физического устройства, которое обеспечивает различные функции. Например, встроенное устройство Ethernet имеет отдельные функции для каждого физического порта Ethernet. Ваша видеокарта имеет отдельные функции для видеоконтроллера и аудиоустройства.
Что касается сквозной передачи, одна шина / слот / функция идентифицирует устройство или его часть, которые могут передаваться отдельно на виртуальную машину.
Наконец, 67 и 43 - это одно и то же число. Первый является десятичным, и, как следует из того, что он отображается как 0x43, последний является шестнадцатеричным.