From Fedora Project Wiki
Описание
Этот тест показывает как сетевые интерфейсы могут быть зарегестрированы Виртуальных Функций для адаптеров с поддержкой функции SRIOV. Для более подробной информации о SRIOV и как включить Виртуальные функции вы можете прочитать тут - Virtualization_SRIOV.
Подготовка
- Подсоедините сетевой адаптор с поддержкой SRIOV. Для этого примера мы выбрали PCI Slot 3.
07:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) # lspci -s 07:00.0 -n 07:00.0 0200: 8086:10c9 (rev 01)
- Включите виртуальные функции перезапустив драйвер Физических Функций(Physical Function driver). Это может быть автоматизированно в течении загрузки системы используя параметры
max_vfs
модуля.# cat << EOF > /etc/modprobe.d/igb.conf options igb max_vfs=2 EOF
- Убедитесь, что Виртуальные Функции (Virtual Functions) включены воспользовавшись коммандрй
lspci
. В выводеlspci
можно увидеть, что выведены 2 виртуальные функции для какждой физической функции. Вот пример:# lspci | grep -i ether 07:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 07:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 07:10.0 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 07:10.1 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 07:10.2 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 07:10.3 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
Как проводить тестирование
В примере выще, двухпортовый сетевой адаптор Intel 82576 в PCI Slot 3, запускает 2 виртуальные функции для каждой физической функции.
- Убедитесь, что каждая виртуальная функция получила имя ввиде:
pci<slot>#<port>_<virtual-function-instance>
. В этом можно убедиться использовав коммандуls /sys/class/net/
.
Ожидаемые результаты
- Убедитесь, что каждая виртуальная функция получила имя вида:
pci<slot>#<port>_<virtual-function-instance>
. Пример показан в выводе ниже.
# ls /sys/class/net/ lo pci3#1 pci3#1_0 pci3#1_1 pci3#2 pci3#2_0 pci3#2_1 pci4#1
Имена наших виртуальных функций выведены ниже.
* pci3#1_0 - Add-in network interface on PCI Slot 3, Port 1, Virtual Function Instance 0 * pci3#1_1 - Add-in network interface on PCI Slot 3, Port 1, Virtual Function Instance 1 * pci3#2_0 - Add-in network interface on PCI Slot 3, Port 2, Virtual Function Instance 0 * pci3#2_1 - Add-in network interface on PCI Slot 3, Port 2, Virtual Function Instance 1