Я пытаюсь включить порты SR-IOV (VF), когда на физических портах (PF) работает драйвер VFIO-PCI.

Я включил этот патч для драйвера VFIO, чтобы создать VF на физическом порту: https://patchwork.kernel.org/patch/10103353/

Проблема в том, что однажды, чтобы связать драйвер VFIO с созданным VF, я ожидаю увидеть новый узел устройства / dev / vfio / X с соответствующей группой IOMMU. В этом случае я не могу подключить VF к виртуальной машине с помощью Libvirt, который ищет этот файл.

Последовательность, которую я сделал:

Создать 4 VF на ПФ

echo '4' & gt; /sys/bus/pci/devices/0000:06:00.0/sriov_numvfs

Отсоедините 4 VF от драйвера по умолчанию

echo "0000: 06: 10.0" & gt; / SYS / автобус / PCI / драйверы / ixgbevf / отвязать echo "0000: 06: 10.2" & gt; / SYS / автобус / PCI / драйверы / ixgbevf / отвязать echo "0000: 06: 10.4" & gt; / SYS / автобус / PCI / драйверы / ixgbevf / отвязать echo "0000: 06: 10.6" & gt; / SYS / автобус / PCI / драйверы / ixgbevf / отвязать

Свяжите VF с драйвером VFIO-PCI

echo "8086 15c5" & gt; / SYS / автобус / PCI / драйвера / vfio Ч / new_id

После последней команды я ожидаю увидеть новый файл / dev / vfio / X для каждого VF. Я вижу, что каждый VF находится в другой группе IOMMU.

Что мне здесь не хватает? Есть ли другой вариант использовать SR-IOV с драйвером VFIO?

С Уважением, Амир.

Amir
источник