KVM проброс ethernet pci (б)

Модератор: Модераторы разделов

little Jon
Сообщения: 212

KVM проброс ethernet pci

Сообщение little Jon »

Пытаюсь пробросить реальную сетевушку в гостя KVM. Использовал libvirt
фрагмент вывода lspci хоста

Код: Выделить всё

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)


фрагмент вывода части секции device гостя.
# virsh dumpxml

Код: Выделить всё

 <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
      </source>
    </hostdev>


стартую гостя под рутом.
В логе получаю вот это

Код: Выделить всё

pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin"
device: 04:00.0: driver="pci-assign" host="04:00.0"
get_real_device: /sys/bus/pci/devices/0000:04:00.0/vendor: Permission denied
pci-assign: Error: Couldn't get real device (04:00.0)!
Error initializing device pci-assign


Гость не запускается.
Странно, запускаю гостя под рутом и получаю /sys/bus/pci/devices/0000:04:00.0/vendor: Permission denied

Начал копать

Код: Выделить всё

zen1:~# cat /sys/bus/pci/devices/0000\:04\:00.0ls /sys/bus/pci/devices/0000\:04\:00.0/vendor
cat: /sys/bus/pci/devices/0000:04:00.0ls: No such file or directory
0x10ec

ясности не прибавилось.

Под пользователем

Код: Выделить всё

ls -l  /sys/bus/pci/devices/0000:04:00.0-> ../../../devices/pci0000:00/0000:00:04.0/

Тут понятно, это просто ссылка. Пошел по ссылке

Код: Выделить всё

$ cat /sys/devices/pci0000\:00/0000\:00\:04.0/vendor
0x1022

Тут, я "глазам своим не верю". Читается легко, без рута и выдает совершенно иной результат.
Проверяю под рутом

Код: Выделить всё

# cat /sys/devices/pci0000\:00/0000\:00\:04.0/vendor
0x1022


читаю использую переход по ссылке, под юзером

Код: Выделить всё

$ cat /sys/bus/pci/devices/0000\:04\:00.0ls /sys/bus/pci/devices/0000\:04\:00.0/vendor
cat: /sys/bus/pci/devices/0000:04:00.0ls: No such file or directory
0x10ec

Попал в тупик.

Убрал из гостя сетевушку, запустил гостя, посмотрел вывод lspci. Никаких конфликтов по шине, слоту нет, все свободно.

Чтение блога от разработчиков
http://berrange.com/posts/2010/02/15/stabl...ers-in-libvirt/
не помогло.

На этом месте у меня идеи закончились. В общем и карточку не пробросил и в трех соснах заблудился.


Linuxforum@conference.jabber.ru
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: KVM проброс ethernet pci

Сообщение sash-kan »

little Jon писал(а):
12.12.2011 14:09
zen1:~# cat /sys/bus/pci/devices/0000\:04\:00.0ls /sys/bus/pci/devices/0000\:04\:00.0/vendor
какая-то странная команда…

little Jon писал(а):
12.12.2011 14:09
В логе получаю
в каком логе какой системы?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
little Jon
Сообщения: 212

Re: KVM проброс ethernet pci

Сообщение little Jon »

sash-kan писал(а):
12.12.2011 14:25
little Jon писал(а):
12.12.2011 14:09
zen1:~# cat /sys/bus/pci/devices/0000\:04\:00.0ls /sys/bus/pci/devices/0000\:04\:00.0/vendor
какая-то странная команда…


это точно не правильная команда. Вот правильная команда cat /sys/bus/pci/devices/0000\:04\:00.0/vendor
sash-kan спасибо. Этот вопрос снимается, уже легче.

little Jon писал(а):
12.12.2011 14:09
В логе получаю
в каком логе какой системы?

Это лог libvirt . Его видно обычно /var/log/libvirt/guest_name.log


Linuxforum@conference.jabber.ru
Спасибо сказали:
little Jon
Сообщения: 212

Re: KVM проброс ethernet pci

Сообщение little Jon »

Подскажите, плз, кто-нибудь пробрасывал физическую сетевую карту в виртуальное окружение kvm/qemu или иное, напрямую, минуя tap?

Что то у меня закрадываются подозрения что это в настоящий момент невозможно.
Если я правильно понял, то kvm/qemu эмулирует строго определенные виды сетевых устройств и с проброшенными сетевыми девайсами работать не может. Во всяком случае тогда можно предположить что строка лога libvirt " pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin" означает попытку поиска опции из разрешенных к использованию сетевых карт к проброшенному устройству.


Linuxforum@conference.jabber.ru
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: KVM проброс ethernet pci

Сообщение Bluetooth »

little Jon писал(а):
12.12.2011 16:04
Подскажите, плз, кто-нибудь пробрасывал физическую сетевую карту в виртуальное окружение kvm/qemu или иное, напрямую, минуя tap?

Что то у меня закрадываются подозрения что это в настоящий момент невозможно.
Если я правильно понял, то kvm/qemu эмулирует строго определенные виды сетевых устройств и с проброшенными сетевыми девайсами работать не может. Во всяком случае тогда можно предположить что строка лога libvirt " pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin" означает попытку поиска опции из разрешенных к использованию сетевых карт к проброшенному устройству.

Почему невозможно? Возможно. Люди даже 3д ускорители пробрасывали :)
Почитать можно тут:
https://www.google.com/search?q=kvm+pci+pas...274&bih=933
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: KVM проброс ethernet pci

Сообщение rm_ »

little Jon писал(а):
12.12.2011 16:04
Подскажите, плз, кто-нибудь пробрасывал физическую сетевую карту в виртуальное окружение kvm/qemu или иное, напрямую, минуя tap?

Что то у меня закрадываются подозрения что это в настоящий момент невозможно.
Если я правильно понял, то kvm/qemu эмулирует строго определенные виды сетевых устройств и с проброшенными сетевыми девайсами работать не может. Во всяком случае тогда можно предположить что строка лога libvirt " pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin" означает попытку поиска опции из разрешенных к использованию сетевых карт к проброшенному устройству.

Переведите со словарём сообщение об ошибке, если сразу не доходит.
потом в гугл.
на первой же странице даже сразу ссылки, где скачать.
https://encrypted.google.com/search?sclient...pxe-rtl8139.bin
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 874
ОС: gentoo

Re: KVM проброс ethernet pci

Сообщение vr13 »

little Jon писал(а):
12.12.2011 14:09
Пытаюсь пробросить реальную сетевушку в гостя KVM. Использовал libvirt
<...>
На этом месте у меня идеи закончились. В общем и карточку не пробросил и в трех соснах заблудился.

начните с этой страницы wiki kvm. мой небольшой опыт копания в этой области показывает, что pci можно пробросить практически всегда (понятно, если железо нормально поддерживает vt-d), а вот pci-e - не удавалось ни разу (даже если начинало работать - быстро сводилось к кнопке reset). "небольшой опыт" - это только железка которая есть под столом (intel dx58so2) и небольшое количество не совсем современных pci и pci-e карточек)
Спасибо сказали: