Для сервера Ubuntu 12.04 и KVM / libvirt 1.0.0 с сетевым чипом Intel 82599:
следуя этим документам: http://wiki.libvirt.org/page/Networking#Assignment_from_a_pool_of_SRIOV_VFs_in_a_libvirt_.3Cnetwork.3E_definition
Я могу получить один пул сетей SRIOV на одном PF (например, eth0), но когда я пытаюсь получить четыре пула или пул с четырьмя PF, я получаю сообщение об ошибке. «Повторяющийся идентификатор 'hostdev0' для устройства» ... (Я могу получить четыре PF для каждой виртуальной машины, указав вручную с помощью раздела hostdev в файле create xml.)
Моя временная сеть xml:
<network>
<name>passthrough_eth0</name>
<forward mode='hostdev' managed='yes'>
<pf dev='eth0'/>
</forward>
</network>
И кажется, что мне нужно назвать hostdevs 0..3, но я не понимаю, как?
В документации указано, что для этой функции вам потребуется libvirt 0.10.0, но Ubuntu 12.04 LTS содержит 0.9.8. Чтобы использовать эту функцию, вам необходимо выполнить обновление.
Это ошибка: https://bugzilla.redhat.com/show_bug.cgi?id=1001881
Я просмотрел список bugzilla, но недостаточно хорошо. Исправлено в версии: libvirt-0.10.2-29.el6