Placa de porta quádrupla Intel PCI-E passthrough

0

Sinto muito por causa da pergunta, talvez, mas estou começando com o Linux, então tenha misericórdia.

Eu tenho a configuração do Ryzen 2400G com o ubuntu 18.04 e o IOMMU ativado. Eu adicionei o Intel Quad Port Gigabit Ethernet e quero usá-lo no pfsense no KVM.

Eu vi um monte de mensagens sobre esse problema, mas apenas com cartões VGA pci-e e não consigo fazer isso funcionar com minha placa ethernet. Se eu entendi, preciso desvincular o HW do driver e vinculá-lo ao KVM. Mas eu não sei como fazer isso: (

Informações sobre o meu controlador ethernet:

    1d:00.0 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) [8086:10bc] (rev 06)
    Subsystem: IBM 82571EB Gigabit Ethernet Controller (Copper) (4-Port 10/100/1000 Base-TX PCI Express Adapter for POWER) [1014:0368]
    Flags: bus master, fast devsel, latency 0, IRQ 60
    Memory at fe6a0000 (32-bit, non-prefetchable) [size=128K]
    Memory at fe680000 (32-bit, non-prefetchable) [size=128K]
    I/O ports at d020 [disabled] [size=32]
    Expansion ROM at fe660000 [disabled] [size=128K]
    Capabilities: <access denied>
    Kernel driver in use: e1000e
    Kernel modules: e1000e

    1d:00.1 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) [8086:10bc] (rev 06)
    Subsystem: IBM 82571EB Gigabit Ethernet Controller (Copper) (4-Port 10/100/1000 Base-TX PCI Express Adapter for POWER) [1014:0368]
    Flags: bus master, fast devsel, latency 0, IRQ 64
    Memory at fe640000 (32-bit, non-prefetchable) [size=128K]
    Memory at fe620000 (32-bit, non-prefetchable) [size=128K]
    I/O ports at d000 [disabled] [size=32]
    Expansion ROM at fe600000 [disabled] [size=128K]
    Capabilities: <access denied>
    Kernel driver in use: e1000e
    Kernel modules: e1000e

    1e:00.0 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) [8086:10bc] (rev 06)
    Subsystem: IBM 82571EB Gigabit Ethernet Controller (Copper) (4-Port 10/100/1000 Base-TX PCI Express Adapter for POWER) [1014:0368]
    Flags: bus master, fast devsel, latency 0, IRQ 65
    Memory at fe5a0000 (32-bit, non-prefetchable) [size=128K]
    Memory at fe580000 (32-bit, non-prefetchable) [size=128K]
    I/O ports at c020 [disabled] [size=32]
    Expansion ROM at fe560000 [disabled] [size=128K]
    Capabilities: <access denied>
    Kernel driver in use: e1000e
    Kernel modules: e1000e

    1e:00.1 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) [8086:10bc] (rev 06)
    Subsystem: IBM 82571EB Gigabit Ethernet Controller (Copper) (4-Port 10/100/1000 Base-TX PCI Express Adapter for POWER) [1014:0368]
    Flags: bus master, fast devsel, latency 0, IRQ 66
    Memory at fe540000 (32-bit, non-prefetchable) [size=128K]
    Memory at fe520000 (32-bit, non-prefetchable) [size=128K]
    I/O ports at c000 [disabled] [size=32]
    Expansion ROM at fe500000 [disabled] [size=128K]
    Capabilities: <access denied>
    Kernel driver in use: e1000e
    Kernel modules: e1000e

Alguém por favor pode ajudar a conseguir o que eu quero? Se você precisar de mais informações sobre o meu sistema, é só pedir.

Obrigado por quaisquer sugestões e respostas.

    
por Sparhawk 26.04.2018 / 19:39

1 resposta

0

você pode seguir o Guia do Servidor Ubuntu sobre isso que tem um exemplo em repasse baseado em vfio. Com isso, você não precisa desvincular, mas criar funções virtuais em sua placa e, em seguida, encaminhar essas partições da placa para suas VMs. Ele também tem um exemplo nos fragmentos xml do libvirt que você pode adicionar diretamente ao seu xml convidado ou como um arquivo para ser usado por virsh attach-device ... .

Se, ao invés disso, você não tiver um cartão compatível com VF, você ainda pode usar o dispositivo como o mencionou. A parte de encaminhamento através do libvirt parece a mesma, mas para não mostrar, você pode dar uma olhada nos exemplos do linux- Wiki KVM que usa o pci-stub.

Se você não quiser usar o libvirt então linux-KVM wiki pci e < um wiki do linux-KVM também contém exemplos na linha de comando do qemu.

    
por Christian Ehrhardt 30.04.2018 / 07:07