Драйвера для Intel x540 Virtual Function для HyperV
-
Здравствуйте, вчера заметил у себя в HyperV, что для моей виртуальной машины с pfSense не работает SR-IOV. Начал разбираться и понял, что после обновлений слетел драйвер на сетевую карту - if_ixv.ko. Его я собирал вручную для FreeBSD 11.3, а сейчас версия моего pfSense - 2.6.0-RELEASE (amd64), это FreeBSD 12.3. Решил что нужно собрать заново.
Скачал образ FreeBSD, установил, скачал с сайта intel исходники, собрал драйвер и проверяю, на этой же системе, но SR-IOV так и не работает. После пары не удачных попыток, чуток полазив в исходных кодах, я так понимаю, что в исходниках есть следующие:#define IXGBE_DEV_ID_X540_VF_HV 0x1530
но эта константа ни где в коде не используется и по этому драйвер не подтягивается. Вот что выдает pciconf -l (последняя строчка):
hostb0@pci0:0:0:0: class=0x060000 card=0x00000000 chip=0x71928086 rev=0x03 hdr=0x00 isab0@pci0:0:7:0: class=0x060100 card=0x00001414 chip=0x71108086 rev=0x01 hdr=0x00 atapci0@pci0:0:7:1: class=0x010180 card=0x00000000 chip=0x71118086 rev=0x01 hdr=0x00 none0@pci0:0:7:3: class=0x068000 card=0x00000000 chip=0x71138086 rev=0x02 hdr=0x00 vgapci0@pci0:0:8:0: class=0x030000 card=0x00000000 chip=0x53531414 rev=0x00 hdr=0x00 none1@pci1:0:2:0: class=0x020000 card=0x00000000 chip=0x15308086 rev=0x01 hdr=0x00
Вопрос, в том что в прошлый раз я это как-то провернул и драйвер успешно работал, пока не обновился FreeBSD. Скорее всего это были какие-то другие исходники, вопрос в том какие? Я скачал все возможные версии с сайта intel, но во всех нет реализации под HyperV:
Помогите пожалуйста, не знаю что делать, может у кого-то остались другие исходники драйвера или может готовый модуль -
Или может просто у кого-то есть ссылка на драйвера Intel x540 Virtual Function (HyperV) для FreeBSD?
-
Добрый
@programmer_86
Уходите с этой проприетарщины. Пользуйте открытое решение linux kvm в исполнении Proxmox VE https://forum.netgate.com/topic/163435/proxmox-ceph-zfs-pfsense-%D0%B8-%D0%B2%D1%81%D0%B5-%D0%B2%D1%81%D0%B5-%D0%B2%D1%81%D0%B5-%D1%87%D0%B0%D1%81%D1%82%D1%8C-2/
Там sr-iov точно работает.
Если интересно, пишите в ЛС. Даже покажу как оно выглядит вживую ) -
@werter Забавно, у меня две темы здесь, на форуме Netgat'а, и в обоих вы откликались первым и заманивали меня на Proxmox. В предыдущей, кстати, вы мне очень помогли и там все заработало в Proxmox. Я попользовался им примерно с месяц или чуть больше, но там был косяк из-за которого я вернулся обратно к HyperV (если интересно, могу расписать в ЛС), в целом он мне больше нравиться. И кстати после всех манипуляций в bios проброс PCI устройства заработал и в HyperV.
В общем эта тема не про это, тут проблема точно не в гипервизоре, потому что SR-IOV благополучно работал, у меня даже остался .ko модуль, который я компилировал и с ним все работает, но он под старую версию FreeBSD, жаль я не сохранил исходников. Вопрос в том где-же я их взял и что это были за исходники. И где мне их найти сейчас?
Или может есть способ использовать .ko принудительно от старой версии, но как стабильно он будет работать?
-
@programmer_86
Отпишите в ЛС по поводу ,что не так пошло с pve. -
@programmer_86
Здр
я , конечно , слабо в этих адаптерах разбираюсь
НО
на сайте Интел есть вот такое
https://www.intel.com/content/www/us/en/download/14303/14688/intel-network-adapters-driver-for-pcie-10-gigabit-network-connections-under-freebsd.html?на выходе драйвер if_ix.ko
но что меня заинтересовало в Makefile на этот драйвер
# Enable SR-IOV PF support SRIOV_ENABLE = 0 # SR-IOV support requires additional files and a kernel version check KERNVER != uname -K VERS_CHECK != test $(KERNVER) -ge 1100000 ; echo $$? .if $(SRIOV_ENABLE) && !$(VERS_CHECK) CFLAGS += -DPCI_IOV SRCS += pci_iov_if.h .endif
Может быть Вам это поможет. Судя по тому , что в С-код полезли , разберетесь ) что и как
-
Лучше написать багрепорт:
https://docs.netgate.com/pfsense/en/latest/development/bug-reports.html -
@konstanti Спасибо, но не тот, мне нужен именно ixv. Этот драйвер подошел бы если я целиком пробросил карту в pfSense.
А мне нужно что-то вроде этого:
https://www.intel.ru/content/www/ru/ru/download/645984/intel-network-adapter-virtual-function-driver-for-pcie-10-gigabit-network-connections-under-freebsd.html
только рабочее для HyperV :) -
@programmer_86 said in Драйвера для Intel x540 Virtual Function для HyperV:
https://www.intel.ru/content/www/ru/ru/download/645984/intel-network-adapter-virtual-function-driver-for-pcie-10-gigabit-network-connections-under-freebsd.html
Тогда попробуйте ход конем
Судя по тому , что в исходниках на ixv-1.5.31 есть файл ixbe_sriov.h и в файле ixgbe.h есть на него ссылка
то добавьте в Makefile такой кусок ( по аналогии с Makefile для if_ix )# Enable SR-IOV PF support SRIOV_ENABLE = 1 # SR-IOV support requires additional files and a kernel version check KERNVER != uname -K VERS_CHECK != test $(KERNVER) -ge 1100000 ; echo $$? .if $(SRIOV_ENABLE) && !$(VERS_CHECK) CFLAGS += -DPCI_IOV SRCS += pci_iov_if.h .endif
и попробуйте собрать драйвер