CodingBox Q&A Ask question

Chelsio T580 unter pfSense: wie bringe ich einen QSFP+-Port für ein Breakout-Kabel in den 4x10G-Modus

Asked Active Viewed 80 AI translation from English
3

Ich betreibe pfSense auf einer kleinen Box mit einem Chelsio T580 und will einen der QSFP+-Ports statt eines einzelnen 40G-Links vier 10G-Hosts versorgen lassen. Das Breakout-Kabel ist noch unterwegs, deshalb hätte ich die Karte lieber im richtigen Modus, bevor es ankommt.

  • pfSense-Box, Chelsio T580, ein QSFP+-Port hängt heute an einem 40G-DAC, der zweite Käfig leer
  • cxgbe-Treiber, cxgbetool aus der Shell verfügbar
  • QSFP+-zu-4xSFP+-Breakout-DAC, OCTTAPCABLE3M (ein OCTCABLE5M-SR AOC als Backup-Plan)
  • 10G-Hosts am Gegenende, schlichte SFP+-Käfige

Aktuell zeigt die Karte immer nur zwei 40G-Interfaces:

cxgbe0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 9000
        media: Ethernet 40Gbase-CR4 <full-duplex>
cxgbe1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        media: Ethernet autoselect
        status: no carrier

Was ich schon gemacht habe:

  • die cxgbetool-Subkommandos durchsucht nach irgendetwas, das nach einer Port-Modus-Einstellung aussieht, nichts gefunden
  • nach einem Loader-Tunable für cxgbe gesucht, das den Port aufteilen würde, ebenfalls nichts
  • genug gelesen, um mir ziemlich sicher zu sein, dass das Kabel allein es nicht macht, der Adapter muss erst im 4x10G-Modus sein

Ist die Aufteilung 40G / 4x10G also etwas, das der FreeBSD-Treiber überhaupt umschalten kann, oder steckt das in der Adapter-Konfiguration? Und falls es die Konfiguration ist, was ist der unterstützte Weg, sie von einer FreeBSD-Box aus zu ändern?

Comments 5

Accepted answer

Kurzfassung: Der Treiber kann es nicht. Das Port-Layout kommt aus der in den Adapter geladenen Konfiguration, genau deshalb bieten weder cxgbe noch cxgbetool einen Modus-Schalter. Man ändert es mit Chelsios eigenem Konfigurationswerkzeug, und die Karte kommt mit der neuen Persönlichkeit zurück.

Das Werkzeug auf die Box bringen (ein irgendwo gemounteter USB-Stick reicht) und ausführen:

python2.7 chelsio_adapter_config.py

Es fragt, welchen Adapter man meint, und dann, welchen Modus man will. Der Breakout-Modus ist als Spider (4x10G) gelistet, das ist der Eintrag, der den QSFP+-Port in vier 10G-Lanes verwandelt.

Auf einer sauberen Installation fällt der erste Durchlauf meist direkt um:

Shared object "libpci.so.3" not found

Nichts Exotisches, nur eine fehlende Bibliothek. flashrom installieren, und sie kommt als Abhängigkeit mit:

pkg install flashrom

Das bringt libpci 3.5.6_1 mit, danach startet das Skript, und der Moduswechsel meldet Erfolg.

Eine Einschränkung, da du das vor Ankunft des Kabels machst: Zu diesem Zeitpunkt sagt dir das Werkzeug nur, dass der Modus angewendet wurde. Ob die vier Lanes tatsächlich hochkommen, ist erst mit dem Breakout-Kabel im Käfig bewiesen, reiß also die 40G-Seite der Konfiguration nicht ab, bevor du es getestet hast.

6 South Korealinkadmin79KR Show original (English) AI translation

Bevor du weiter nach Treiber-Schaltern suchst: Welche Konfiguration läuft auf der Karte tatsächlich, und bekommst du python2.7 auf diese Box? Das, was das ändert, ist ein Chelsio-Werkzeug, nicht Teil des FreeBSD-Tools, und auf einer Stock-Installation braucht es ein paar Teile, die nicht von Haus aus da sind.

Noch etwas, da cxgbe0 gerade mit 40G linkt: Hängt an diesem Port etwas, dessen Ausfall du dir nicht leisten kannst? Der Modus kommt aus der in den Adapter geladenen Konfiguration, die Karte kommt also mit einer anderen Persönlichkeit zurück, und beide Ports verschwinden währenddessen. Mach das von der Konsole aus, nicht über den 40G-Link.

4 United StatesedgewolfUS Show original (English) AI translation

Bestätigt, und genau in dieser Reihenfolge. Erster Durchlauf starb mit

Shared object "libpci.so.3" not found

dann hat pkg install flashrom libpci 3.5.6_1 reingezogen, und das Skript lief sauber hoch. Es listete den Adapter, ich habe Spider (4x10G) gewählt, und es meldete den Moduswechsel als erfolgreich.

Das Kabel ist noch nicht da, ich kann also zu den vier Ports selbst noch nichts sagen. Melde mich, sobald OCTTAPCABLE3M tatsächlich im Käfig steckt.

1 SpainoptictechES Show original (English) AI translation

Dieselbe Idee bei Switch-Silizium, mit deutlich mehr Zeremonie. An einem ICX 7750 teilt sich der 40G-Port erst auf, wenn die Box aus dem Cut-Through-Modus raus ist:

store-and-forward
write memory
reload

Dann streicht man jede Konfiguration vom 40G-Port und aktiviert darauf Breakout:

breakout ethernet 1/2/1
write memory
reload

Nach dem zweiten Reload erscheinen die vier Subports als 1/2/1:1 bis 1/2/1:4 und verhalten sich wie gewöhnliche unabhängige 10G-Interfaces. Zwei Reloads, um ein Kabel einzustecken, aber immerhin ist das dokumentiertes Verhalten statt einer versteckten Adapter-Konfiguration, von der man erst wissen muss, dass es sie gibt.

4 GermanywavesmithDE Show original (English) AI translation

Lohnt sich zu ergänzen, dass der Modus nur die halbe Miete ist, das Gegenende muss das Kabel selbst auch akzeptieren. An MX204 und MX10003 linkte ein schlichter 40G-DAC unter älterem Junos problemlos; sobald 100G-DACs offizielle Unterstützung bekamen, fielen die 40G-Kabel still von der Liste, und heute werden sie auf diesen Boxen überhaupt nicht mehr unterstützt. Unterstützt ist 4x10G-Breakout-Optik, QSFPP-4X10GE-LR oder SFPP-4X10GE-SR, und Drittanbieter-Teile müssen in der Regel auf die passende SKU codiert sein, bevor der Port sie überhaupt ansieht.

Euer Chelsio ist deutlich weniger pingelig als eine Router-Linecard, aber wenn die vier Beine auf Herstellerhardware landen, prüft, was diese Hardware mit einem Breakout-DAC macht, bevor ihr wieder dem Adapter-Modus die Schuld gebt.

3 RussianetadminRU Show original (English) AI translation
Log in to comment. Log in