VM startet nicht mit einer NIC, die per pass through durchgereicht wird.

PVEgreenhorn

New Member
Oct 2, 2023
4
0
1
Moin in die Runde,

ich wende mich mit einem Problem an Euch, für das ich trotz Suche im Internet und im Forum keine Lösung gefunden habe.

Ich habe hier eine gebrauchte Sophos SG 125 rev. 3 mit 9 NICs von Intel, 5 davon sind igb und 4 sind ixgbe, speziell X553.
Das sind wohl abgespeckte X550. Die unterstützen SR-IOV, sind aber auf 1GBit/s begrenzt.
In einer VM soll OPNsense laufen, in die ich alle 5 igbs, 3 ixgbe per pass through und eine virtual function einer ixgbe durchreichen möchte.
Das funktioniert auch soweit.

Jetzt kommt das große aber. Das geht kommischer Weise nicht mit einer der ixgbe NICs.
Die vier ixgbe heißen enp11s0f0, enp11s0f1, enp13s0f0 und enp13s0f1. enp11s0f0 hat 4 vfs, enp11s0f1, enp13s0f0 und enp13s0f1 haben keine vfs.
Wenn ich in der VM Config eine vf von enp11s0f0 und alle anderen NICs als PCI device einrichte, startet die VM nicht. Entferne ich enp13s0f0, startet die VM.

Hier meine /etc/network/interfaces:
Code:
auto lo
iface lo inet loopback

auto enp11s0f0
iface enp11s0f0 inet manual
        post-up /usr/bin/echo 4 > /sys/class/net/$IFACE/device/sriov_numvfs
        post-up /usr/sbin/ip link set $IFACE vf 0 mac 7c:5a:1c:78:e3:70 spoofchk off trust off
        post-up /usr/sbin/ip link set $IFACE vf 1 mac 7c:5a:1c:78:e3:71 spoofchk off trust off
        post-up /usr/sbin/ip link set $IFACE vf 2 mac 7c:5a:1c:78:e3:72 spoofchk off trust off
        post-up /usr/sbin/ip link set $IFACE vf 3 mac 7c:5a:1c:78:e3:73 spoofchk off trust off
        post-up echo "0000:0b:10.2" > "/sys/bus/pci/devices/0000:0b:10.2/driver/unbind"
        post-up echo "0000:0b:10.4" > "/sys/bus/pci/devices/0000:0b:10.4/driver/unbind"
        post-up echo "0000:0b:10.6" > "/sys/bus/pci/devices/0000:0b:10.6/driver/unbind"

auto vlan9
iface vlan9 inet static
        vlan-raw-device enp11s0f0

auto vmbr0
iface vmbr0 inet static
        address 10.0.9.5/28
        bridge-ports vlan9
        bridge-stp off
        bridge-fd 0
# LAN Bridge

auto vmbr1
iface vmbr1 inet static
        address 192.168.1.2/24
        gateway 192.168.1.1
        bridge-ports enp11s0f0v0
        bridge-stp off
        bridge-fd 0
        hwaddress ether 7c:5a:1c:78:e3:70
        post-up /usr/sbin/bridge fdb add 7c:5a:1c:78:e3:70 dev enp11s0f0

auto enp11s0f1
iface enp11s0f1 inet manual

auto enp13s0f0
iface enp13s0f0 inet manual

auto enp13s0f1
iface enp13s0f1 inet manual

auto enp2s0
iface enp2s0 inet manual

auto enp3s0
iface enp3s0 inet manual

auto enp4s0
iface enp4s0 inet manual

auto enp5s0
iface enp5s0 inet manual

auto enp10s0
iface enp10s0 inet manual

Die Ausgabe von lspci -nnk:
Code:
00:00.0 Host bridge [0600]: Intel Corporation Atom Processor C3000 Series System Agent [8086:1980] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series System Agent [8086:1999]
00:04.0 Host bridge [0600]: Intel Corporation Atom Processor C3000 Series Error Registers [8086:19a1] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series Error Registers [8086:0000]
00:05.0 Generic system peripheral [0807]: Intel Corporation Atom Processor C3000 Series Root Complex Event Collector [8086:19a2] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series Root Complex Event Collector [8086:0000]
    Kernel driver in use: pcieport
00:06.0 PCI bridge [0604]: Intel Corporation Atom Processor C3000 Series Integrated QAT Root Port [8086:19a3] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series Integrated QAT Root Port [8086:0000]
    Kernel driver in use: pcieport
00:09.0 PCI bridge [0604]: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #0 [8086:19a4] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series PCI Express Root Port [8086:0000]
    Kernel driver in use: pcieport
00:0a.0 PCI bridge [0604]: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #1 [8086:19a5] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series PCI Express Root Port [8086:19a5]
    Kernel driver in use: pcieport
00:0b.0 PCI bridge [0604]: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #2 [8086:19a6] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series PCI Express Root Port [8086:19a6]
    Kernel driver in use: pcieport
00:0c.0 PCI bridge [0604]: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #3 [8086:19a7] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series PCI Express Root Port [8086:19a7]
    Kernel driver in use: pcieport
00:0e.0 PCI bridge [0604]: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #4 [8086:19a8] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series PCI Express Root Port [8086:19a8]
    Kernel driver in use: pcieport
00:0f.0 PCI bridge [0604]: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #5 [8086:19a9] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series PCI Express Root Port [8086:19a9]
    Kernel driver in use: pcieport
00:10.0 PCI bridge [0604]: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #6 [8086:19aa] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series PCI Express Root Port [8086:19aa]
    Kernel driver in use: pcieport
00:11.0 PCI bridge [0604]: Intel Corporation Atom Processor C3000 Series PCI Express Root Port #7 [8086:19ab] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series PCI Express Root Port [8086:19ab]
    Kernel driver in use: pcieport
00:12.0 System peripheral [0880]: Intel Corporation Atom Processor C3000 Series SMBus Contoller - Host [8086:19ac] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series SMBus Contoller - Host [8086:0000]
    Kernel driver in use: ismt_smbus
    Kernel modules: i2c_ismt
00:13.0 SATA controller [0106]: Intel Corporation Atom Processor C3000 Series SATA Controller 0 [8086:19b2] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series SATA Controller 0 [8086:7270]
    Kernel driver in use: ahci
    Kernel modules: ahci
00:15.0 USB controller [0c03]: Intel Corporation Atom Processor C3000 Series USB 3.0 xHCI Controller [8086:19d0] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series USB 3.0 xHCI Controller [8086:7270]
    Kernel driver in use: xhci_hcd
    Kernel modules: xhci_pci
00:16.0 PCI bridge [0604]: Intel Corporation Atom Processor C3000 Series Integrated LAN Root Port #0 [8086:19d1] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series Integrated LAN Root Port [8086:0000]
    Kernel driver in use: pcieport
00:17.0 PCI bridge [0604]: Intel Corporation Atom Processor C3000 Series Integrated LAN Root Port #1 [8086:19d2] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series Integrated LAN Root Port [8086:0000]
    Kernel driver in use: pcieport
00:18.0 Communication controller [0780]: Intel Corporation Atom Processor C3000 Series ME HECI 1 [8086:19d3] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series ME HECI 1 [8086:19d3]
00:1f.0 ISA bridge [0601]: Intel Corporation Atom Processor C3000 Series LPC or eSPI [8086:19dc] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series LPC or eSPI [8086:7270]
00:1f.2 Memory controller [0580]: Intel Corporation Atom Processor C3000 Series Power Management Controller [8086:19de] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series Power Management Controller [8086:7270]
00:1f.4 SMBus [0c05]: Intel Corporation Atom Processor C3000 Series SMBus controller [8086:19df] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series SMBus controller [8086:7270]
    Kernel driver in use: i801_smbus
    Kernel modules: i2c_i801
00:1f.5 Serial bus controller [0c80]: Intel Corporation Atom Processor C3000 Series SPI Controller [8086:19e0] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series SPI Controller [8086:7270]
    Kernel driver in use: intel-spi
    Kernel modules: spi_intel_pci
01:00.0 Co-processor [0b40]: Intel Corporation Atom Processor C3000 Series QuickAssist Technology [8086:19e2] (rev 11)
    Subsystem: Intel Corporation Atom Processor C3000 Series QuickAssist Technology [8086:0000]
    Kernel driver in use: c3xxx
    Kernel modules: qat_c3xxx
02:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)
    Subsystem: Intel Corporation I211 Gigabit Network Connection [8086:0000]
    Kernel driver in use: vfio-pci
    Kernel modules: igb
03:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)
    Subsystem: Intel Corporation I211 Gigabit Network Connection [8086:0000]
    Kernel driver in use: vfio-pci
    Kernel modules: igb
04:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)
    Subsystem: Intel Corporation I211 Gigabit Network Connection [8086:0000]
    Kernel driver in use: vfio-pci
    Kernel modules: igb
05:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)
    Subsystem: Intel Corporation I211 Gigabit Network Connection [8086:0000]
    Kernel driver in use: vfio-pci
    Kernel modules: igb
06:00.0 PCI bridge [0604]: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge [1a03:1150] (rev 03)
    Subsystem: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge [1a03:1150]
07:00.0 VGA compatible controller [0300]: ASPEED Technology, Inc. ASPEED Graphics Family [1a03:2000] (rev 30)
    Subsystem: ASPEED Technology, Inc. ASPEED Graphics Family [1a03:2000]
    Kernel driver in use: ast
    Kernel modules: ast
0a:00.0 Ethernet controller [0200]: Intel Corporation I210 Gigabit Fiber Network Connection [8086:1536] (rev 03)
    Kernel driver in use: vfio-pci
    Kernel modules: igb
0b:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection X553 1GbE [8086:15e5] (rev 11)
    Subsystem: Intel Corporation Ethernet Connection X553 1GbE [8086:0000]
    Kernel driver in use: ixgbe
    Kernel modules: ixgbe
0b:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Connection X553 1GbE [8086:15e5] (rev 11)
    Subsystem: Intel Corporation Ethernet Connection X553 1GbE [8086:0000]
    Kernel driver in use: vfio-pci
    Kernel modules: ixgbe
0b:10.0 Ethernet controller [0200]: Intel Corporation X553 Virtual Function [8086:15c5]
    Subsystem: Intel Corporation X553 Virtual Function [8086:0000]
    Kernel driver in use: ixgbevf
    Kernel modules: ixgbevf
0b:10.2 Ethernet controller [0200]: Intel Corporation X553 Virtual Function [8086:15c5]
    Subsystem: Intel Corporation X553 Virtual Function [8086:0000]
    Kernel driver in use: vfio-pci
    Kernel modules: ixgbevf
0b:10.4 Ethernet controller [0200]: Intel Corporation X553 Virtual Function [8086:15c5]
    Subsystem: Intel Corporation X553 Virtual Function [8086:0000]
    Kernel driver in use: ixgbevf
    Kernel modules: ixgbevf
0b:10.6 Ethernet controller [0200]: Intel Corporation X553 Virtual Function [8086:15c5]
    Subsystem: Intel Corporation X553 Virtual Function [8086:0000]
    Kernel driver in use: ixgbevf
    Kernel modules: ixgbevf
0d:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection X553 1GbE [8086:15e5] (rev 11)
    Subsystem: Intel Corporation Ethernet Connection X553 1GbE [8086:0000]
    Kernel driver in use: vfio-pci
    Kernel modules: ixgbe
0d:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Connection X553 1GbE [8086:15e5] (rev 11)
    Subsystem: Intel Corporation Ethernet Connection X553 1GbE [8086:0000]
    Kernel driver in use: vfio-pci
    Kernel modules: ixgbe

Die Ausgabe von qm start 100:

Code:
root@portunus:~# qm start 100
kvm: -device vfio-pci,host=0000:0d:00.0,id=hostpci7,bus=ich9-pcie-port-8,addr=0x0,rombar=0: vfio 0000:0d:00.0: Failed to set up TRIGGER eventfd signaling for interrupt INTX-0: VFIO_DEVICE_SET_IRQS failure: Transport endpoint is not connected
start failed: QEMU exited with code 1

Hat jemand eine Idee, woran das liegen kann? Wenn Ihr noch Infos braucht, lasst es mich bitte wissen.
Vielen Dank schon mal für das Lesen.
 

Attachments

  • Bildschirmfoto 2023-10-10 um 21.39.55.png
    Bildschirmfoto 2023-10-10 um 21.39.55.png
    117.5 KB · Views: 7
  • Bildschirmfoto 2023-10-10 um 22.00.50.png
    Bildschirmfoto 2023-10-10 um 22.00.50.png
    132.3 KB · Views: 7
kannst du mal die iommu gruppen vom host posten? (vielleicht überschneidet sich da ja was)
auch der ganze dmesg output wäre interessant

könnte ein hardware (e.g. mainboard) problem sein, hier hat jemand ein ähnliches problem sobald er mehr als einen port einer nic durchreichen will: https://forum.proxmox.com/threads/v...more-then-one-nic-port-of-a-quad-card.116361/
dort war die lösung einen anderen pci slot zu verwenden
 
Hallo Danke,

für Eure Antworten.

Den vollständigen dmesg Output hänge ich als Attachment an.

Hier die IOMMU Groups:
Code:
/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/10/devices/0000:00:10.0
/sys/kernel/iommu_groups/11/devices/0000:00:11.0
/sys/kernel/iommu_groups/12/devices/0000:00:12.0
/sys/kernel/iommu_groups/13/devices/0000:00:13.0
/sys/kernel/iommu_groups/14/devices/0000:00:15.0
/sys/kernel/iommu_groups/15/devices/0000:00:16.0
/sys/kernel/iommu_groups/16/devices/0000:00:17.0
/sys/kernel/iommu_groups/17/devices/0000:00:18.0
/sys/kernel/iommu_groups/18/devices/0000:00:1f.0
/sys/kernel/iommu_groups/18/devices/0000:00:1f.2
/sys/kernel/iommu_groups/18/devices/0000:00:1f.4
/sys/kernel/iommu_groups/18/devices/0000:00:1f.5
/sys/kernel/iommu_groups/19/devices/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:04.0
/sys/kernel/iommu_groups/20/devices/0000:02:00.0
/sys/kernel/iommu_groups/21/devices/0000:03:00.0
/sys/kernel/iommu_groups/22/devices/0000:04:00.0
/sys/kernel/iommu_groups/23/devices/0000:05:00.0
/sys/kernel/iommu_groups/24/devices/0000:06:00.0
/sys/kernel/iommu_groups/24/devices/0000:07:00.0
/sys/kernel/iommu_groups/25/devices/0000:0a:00.0
/sys/kernel/iommu_groups/26/devices/0000:0b:00.0
/sys/kernel/iommu_groups/27/devices/0000:0b:00.1
/sys/kernel/iommu_groups/28/devices/0000:0d:00.0
/sys/kernel/iommu_groups/29/devices/0000:0d:00.1
/sys/kernel/iommu_groups/2/devices/0000:00:05.0
/sys/kernel/iommu_groups/30/devices/0000:0b:10.0
/sys/kernel/iommu_groups/31/devices/0000:0b:10.2
/sys/kernel/iommu_groups/32/devices/0000:0b:10.4
/sys/kernel/iommu_groups/33/devices/0000:0b:10.6
/sys/kernel/iommu_groups/34/devices/0000:0b:10.1
/sys/kernel/iommu_groups/35/devices/0000:0b:10.3
/sys/kernel/iommu_groups/36/devices/0000:0b:10.5
/sys/kernel/iommu_groups/37/devices/0000:0b:10.7
/sys/kernel/iommu_groups/38/devices/0000:0d:10.0
/sys/kernel/iommu_groups/39/devices/0000:0d:10.2
/sys/kernel/iommu_groups/3/devices/0000:00:06.0
/sys/kernel/iommu_groups/40/devices/0000:0d:10.4
/sys/kernel/iommu_groups/41/devices/0000:0d:10.6
/sys/kernel/iommu_groups/42/devices/0000:0d:10.1
/sys/kernel/iommu_groups/43/devices/0000:0d:10.3
/sys/kernel/iommu_groups/44/devices/0000:0d:10.5
/sys/kernel/iommu_groups/45/devices/0000:0d:10.7
/sys/kernel/iommu_groups/4/devices/0000:00:09.0
/sys/kernel/iommu_groups/5/devices/0000:00:0a.0
/sys/kernel/iommu_groups/6/devices/0000:00:0b.0
/sys/kernel/iommu_groups/7/devices/0000:00:0c.0
/sys/kernel/iommu_groups/8/devices/0000:00:0e.0
/sys/kernel/iommu_groups/9/devices/0000:00:0f.0

@news Weil mich das interessiert.

Danke und Gruß

PVEgreenhorn
 

Attachments

Ich habe mir den verlinkten Thread mal durchgelesen. Das Tauschen fällt aus, da die NICs alle auf dem Mainboard fest verbaut sind.
Die Sophos SG125 ist eine kleine Appliance und kann nur mit einem Flexiport Modul erweitert werden.
 
Ich habe mir den verlinkten Thread mal durchgelesen. Das Tauschen fällt aus, da die NICs alle auf dem Mainboard fest verbaut sind.
Die Sophos SG125 ist eine kleine Appliance und kann nur mit einem Flexiport Modul erweitert werden.
die fehlermeldung sieht für mich so aus als wäre das ein hardware problem (sieht so aus als hätten die 2 ports keine unterschiedlichen IRQs? )
normalerweise würde ich vorschlagen im bios die pci related settings durchzugehen ob sich was tut und die firmware von mainboard + karte upzudaten, aber ich gehe davon aus dass das hier keine option ist?

sonst fällt mir auch nicht wirklich was ein um das zu lösen (abgsehen davon die karten nicht durchzureichen sondern je getrennte vmbr zu machen...)
 
die fehlermeldung sieht für mich so aus als wäre das ein hardware problem (sieht so aus als hätten die 2 ports keine unterschiedlichen IRQs? )
normalerweise würde ich vorschlagen im bios die pci related settings durchzugehen ob sich was tut und die firmware von mainboard + karte upzudaten, aber ich gehe davon aus dass das hier keine option ist?
Danke für den Hinweis mit den Interrupts. Ich habe mir im BIOS nochmal die Einstellungen angesehen. Bzgl. Interrupts läßt sich da nicht viel konfigurieren, eigentlich gar nichts. Ich habe mal zwei sowieso nicht vorhandene mini PCIe Ports deaktiviert, was aber auch nichts gebracht hat. Ein Versuch war es wert.

Dann habe ich mit lspci -vvv den angehängten Output erzeugt, wobei ich nur die vier NICs enp11s0f0/1 und enp13s0f0/1 drin gelassen und den Kram mit den ganzen Capabilities entfernt habe. Da scheint tatsächlich was krumm zu sein. Bei der NIC (enp13s0f0, 0d:00.0), mit der sich die VM nicht starten lässt, ist der IRQ -214783648. Bei den anderen drei NICs ist der IRQ 16 bzw. 17. Da ich zuerst dachte, dass das durch den Startversuch der VM geschieht, habe ich die Kiste neugestartet und direkt nach dem Boot die Ausgabe erstellt.

Ein BIOS Update gibt es nicht, zumindest bekommt man keins von Sophos heruntergeladen. Ich werde das BIOS nochmal zurücksetzen, alles neueinstellen. Sollte das nicht gehen, versuche ich es mal mit virtual functions bei dem Interface und eines davon durchzureichen.
 

Attachments

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!