Hyper-V, SR-IOV, pfSense VM - keine Konnektivität

Bob.Dig

Captain
Registriert
Dez. 2006
Beiträge
3.910
Kann sich wer folgendes Verhalten erklären.

Ich habe hier eine Hyper-V VM mit pfSense (freeBSD), welche das Internet und LAN für das gesamte (Heim-)Netzwerk bereitstellt. Diese VM ist mittels eines external vSwitches an einen echten Switch angeschlossen. Der Host ist über das selbe Kabel mit dem Switch verbunden, so weit, so gut.
Capture.PNG
Wenn ich nun aber diesen vSwitch als SR-IOV vSwitch erstelle, dann verlieren alle Geräte am echten Switch die Konnektivität, warum? Der Host selbst hat merkwürdigerweise aber keinerlei Einschränkungen.
 
Zuletzt bearbeitet:
@xexex Ist das X470D4U2-2T. Bis auf den Status anzeigen hatte ich so die Einstellungen gemacht. Auch sonst findet sich niemand, der das so schon zum Laufen gebracht hätte. Vielleicht habe ich daher aber auch was grundsätzliches nicht verstanden.
 
Zuletzt bearbeitet:
Bob.Dig schrieb:
Auch sonst findet sich niemand, der das so schon zum Laufen gebracht hätte.
Dann frage ich mal anders, was für einen Switch setzt du ein?

Bob.Dig schrieb:
Wenn ich nun aber diesen vSwitch als SR-IOV vSwitch erstelle, dann verlieren alle Geräte am echten Switch die Konnektivität, warum?
Für mich hört sich das nach einen Netzwerkloop an. Beschreibe doch einfach mal die komplette Konfiguration und nicht nur irgendwelche Informationshäppchen. Was ist wo angeschlossen, welche Hardware kommt zum Einsatz, wie viele vSwitche hast du konfiguriert etc.

Abgesehen davon was versprichst du dir von SR-IOV eigentlich? Im Heimbetrieb ist es absolut irrelevant.
 
xexex schrieb:
Abgesehen davon was versprichst du dir von SR-IOV eigentlich? Im Heimbetrieb ist es absolut irrelevant.
Ist nur aus "Interesse" an einer möglicherweise "besseren" Performance.

Ein Netzwerkloop, aber wie könnte das sein? Der einzige Unterschied zu vorher ist, dass der vSwitch nun SR-IOV enabled ist. Könntest Du da vielleicht näher drauf eingehen, was da passieren könnte?

Der Switch hat eine Loop Detection, allerdings habe ich eine Loop Prevention nicht aktiviert.
 
Bob.Dig schrieb:
FreeBSD 12.2-STABLE
Klingt nach 2.5.x der pfsense. Schau mal bei reddit rein. Da gibt's scheinbar etliche Themen, die ein wenig "unrund" laufen. Bin selbst seit einiger Zeit bei OPNsense und bei pfsense nicht mehr auf der Höhe der Zeit.
 
@ms007 Nope, das Problem gibt es schon länger. 🙂

@xexex Gerade mal wieder getestet, es gibt laut Switch keinen Loop und das ist das Ergebnis der PowerShell:
Capture.PNG
Die NIC in der pfSense VM bekommt immer den hn-Treiber (also den für Hyper-V), nicht einen für intel, falls das von Interesse ist.
 
Zuletzt bearbeitet:
HyperV, FreeBSD (basierte) VM und SR-IOV scheint grundsätzlich zu funktionieren aber nicht mit jeder Hardware.

Mellanox hui, Intel pfui:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=222996
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239849

Nach den Treffern hab ich aufgehört zu suchen. SR-IOV scheint offenbar von den Intel-Treibern bei *BSD nicht unterstützt zu sein.
Wenn du also SR-IOV willst, musst auf ne andere NIC umsteigen. Hast du denn Probleme, die 10G vom Board auszulasten ohne SR-IOV und ist da dann das Netzwerk der limitierende Faktor oder etwas anderes?
 
@snaxilian Hier zuhause limitiert nix, ich will es einfach noch weiter "optimieren".

Was mich halt "wundert", dass egal was ich mache, immer nur der Hyper-V Treiber geladen wird und nie etwas Hardware spezifisches. So kann ich doch auch gar keine Aussage dazu treffen, ob oder ob nicht der intel Treiber geeignet wäre.
Wäre daher mal interessant zu erfahren, wie das Ganze als Gegenbeispiel eigentlich mit ESXi abläuft, also was da für ein Treiber vom Guest geladen wird.
 
Wenn du in keine Limits läufst dann muss auch nix optimiert oder verbessert werden. Was du da vor hast ist lediglich eine Erhöhung der Komplexität denn durch die Umsetzung erzeugst du ja keine wirkliche Veränderung oder Verbesserung wenn ich dich richtig verstanden habe.
Nach Aktivierung von SR-IOV im Bios/UEFI hast du auch einen neuen vSwitch erstellt mit SR-IOV aktiviert und du hast SR-IOV in der VM aktiviert und die VM mit dem neu erstellten vSwitch verbunden?
Das OS wurde ja installiert bevor SR-IOV aktiviert wurde, korrekt? Gegenprobe mit neuer VM und aktivem SR-IOV bei der Installation ergibt was?
Funktioniert SR-IOV denn grundlegend, z.B. durch Test mit einer weiteren (neuen) VM mit Windows oder Linux als Gast? Falls ja, liegt das Problem ja definitiv an pfSense/FreeBSD bzw. dem verwendeten Treiber. Falls nicht scheint es noch ein grundlegendes Problem mit SR-IOV am Host oder der Hardware zu geben.

Du hast einen aktuellen Treiber von Intel auf dem Host installiert, der die PF (Physical Functions) von SR-IOV unterstützt?
Zudem brauchst du einen passenden Treiber in der VM der die VF (Virtual Functions) von SR-IOV nutzen und ansprechen kann (Quelle).
Intel stellt diesen zum Download bzw. selbst bauen bereit. Müsstest vermutlich selbst rein frickeln in die pfSense. Auch wenn pfSense auf FreeBSD aufbaut, ist es nicht unbedingt gleich zu setzen. Basiert es jetzt auf einem minimalen System, welche optionalen Treiber und Softwarepakete bringt es mit, wurden Standardeinstellungen aus FreeBSD in pfSense angepasst und wenn ja welche.
Das sind alles Fragen, die du klären müsstest um dann den richtigen Treiber zu installieren um dann ein Feature nutzen zu können was dir absolut keinerlei Mehrwert bietet aber die Komplexität erhöht nur um sagen zu können das man es nutzt?
Nur weil etwas technisch machbar ist muss es nicht unbedingt sinnvoll sein ;)

Du kannst den Weg natürlich auch abkürzen und Support bei netgate einkaufen aber ich vermute, die werden sich sehr schnell aus der Nummer raus ziehen sobald sie ein Stück Hardware sehen was nicht auf irgendeiner ACL steht.

Fun Fact: Im Azure Marketplace gibt es eine pfSense Appliance mit SR-IOV Support aber Azure verwendet dafür ausschließlich Mellanox NICs und keine Intel (da frage ich mich wohl warum...) und man findet auf Reddit einen Thread wo darum gebeten wird generelle ISOs von pfSense bereit zu stellen mit SR-IOV und nicht nur im Azure Marketplace. Wobei es natürlich inzwischen sein kann, dass dieser Wunsch umgesetzt ist aber auch da würde ich vermuten, gilt dies nur für SR-IOV.

Bist du dir eigentlich sicher, dass pfSense SR-IOV anbietet? Eine Suche nach SR-IOV über die gesamte pfSense Doku brachte 0 Treffer...
Falls du es irgendwann doch zum laufen bekommen solltest hoffe ich, dass du über das Interface nicht VLANs verwenden möchtest. Zumindest las ich diesbezüglich nix wirklich viel versprechendes, sodass es bei vielen heißt: SR-IOV oder VLANs.
 
@snaxilian VLANs müssen da schon drüber bei mir. Und ich habe den aktuellen intel-Treiber unter Windows installiert, welcher eine SR-IOV Option beinhaltet.
Aber ich glaube, Du hast mir nun endgültig den Zahn gezogen. 😬
 
  • Gefällt mir
Reaktionen: snaxilian
Bob.Dig schrieb:
aktuellen intel-Treiber unter Windows installiert, welcher eine SR-IOV Option beinhaltet.
Damit hast du die PF bereit gestellt. Fehlt noch der passende Treiber in der VM für die VF. Aber bevor du das Gefrickel startest würde ich bzgl. SR-IOV und VLANs recherchieren und dann ernsthaft überlegen, ob der Mehraufwand gerechtfertigt ist oder ob du in deiner Infrastruktur nicht andere Baustellen hast die sinnvoller sind und wo auch ein spürbares Ergebnis bei rum kommt :D
 
Zurück
Oben