Hallo wertes Forum,
alles Nachfolgende ist derzeit nur eine reine Überlegung und die Frage
der generellen Machbarkeit.
Einige von euch werden von RISC-V
(https://en.m.wikipedia.org/wiki/RISC-V) eventuell schon gelesen haben.
Mit der nächsten Linux Kernel Verion 4.15 wird RISC-V auch vom Linux
Kernel unterstützt.
Ich selbst habe hier mehrere Router mit LEDE die als Repeater genutzt
werden, sowie einige Web Managed Switche die VLAN „machen“.
Meine Überlegung war vor kurzem dass wenn RISC-V Prozessoren verfügbar
sind (2018(?)) und LEDE die RISC-V Architektur unterstützt, einen Switch
mit LEDE selbst zu bauen. Ich weiß das wird, sofern überhaupt möglich,
dann wahrscheinlich nicht so einfach.
Hintergedanke: Mir gefällt das Web Management meiner Switche nicht,
dafür aber das von LEDE (LuCI). Auch kann ich bei LEDE mMn sicher sein
dass es Updates gibt (sofern RISC-V unterstützt wird). Auch könnte man
mit einem größeren Flash Funktionen nachrüsten, sofern Bedarf da ist.
Ich hoffe dass ich alles (halbwegs) verständlich rüberbringen konnte.
Ist die Idee umsetzbar?
So ganz ist mir noch nicht klar, was ein Routerbetriebssystem mit einem
Ethernet-Switch zu tun hat, und wie das von einer bestimmten
Prozessorarchitektur abhängt.
Ich würde mir ansehen, welches der benötigten Features des gewünschten
Switches sich z.B. hiermit umsetzen ließen
http://www.microchip.com/wwwproducts/en/KSZ9897
und daran dann einen mehr oder weniger beliebigen µC mit
Ethernet-Interface hängen, der dann die Management-Schnittstelle
übernimmt.
Der ist für das Webinterface etc. zuständig, sollte also schon oberhalb
der 8-Bit-AVR-Klasse schwimmen. Da kann man dann auch Dein
OpenWRT-Derivat drauf laufen lassen.
Umsetzbar mehr oder weniger, wenn es Controller mit genug Ethernet Ports
gibt. Normalerweise verbindet man die Ports jedoch mit einem dediziertem
Switch Fabric (zB 88E6176) wie es in sogut wie allen Home-Routern
gemacht wird.
Preislich ist so eine Eigenentwicklung sowieso ein Fass ohne
Boden...rechne mit mehreren k€..
Letztendlich ist dein Vorhaben aber relativ sinnlos...kauf die einfach
profesionelle Switche und werd glücklich. Das Switch/VLAN Management in
LEDE ist sehr primitiv gegenüber "richtigen" Lösungen..
Wenn es schnell sein soll, brauchst Du Hardware. Layer 2 Switching wird
mit passenden Chips erledigt - für das Management reicht notfalls auch
ein 8-Bitter. Layer 3 Switching in entsprechenden Geräten wird auch per
Hardware gemacht und nicht über den Steuerprozessor - außer vielleicht
fürs erste Paket. Erst die Spezialhardware bringt die Geschwindigkeit.
Und wenn Du erst fragen musst, ob DAS für DICH machbar ist, dann ist es
das nicht.
Wenn Dir das User Interface nicht gefällt, setze doch einen Webserver
auf, der die einzelnen Geräte per SNMP steuert, sofern die das können.
So funktionieren die kommerziellen Verwaltungstools auch.
fchk
Der Linux-Kernel wird nur RV64G unterstützen, was für das bisschen
Management übertrieben ist; einen Port für RV32G wird es nicht geben.
Der Datenverkehr sollte ohnehin nicht durch die CPU laufen.
Ich würde jetzt nicht davon ausgehen, in naher Zukunft überhaupt einen
passenden RISC-V-Prozessor in die Hände zu bekommen, schon garnicht in
günstig.
Wenn du auf OpenWrt stehst, dann kaufe dir einen günstigen Router, der
von OpenWrt vollkommen unterstützt wird. Das ist dann zwar meist MIPS
drin, aber im Endeffekt spielt das sowieso keine Rolle (weil Linux).
Willst du eigentlich nur mit RISC-V spielen, dann kannst du das in
Emulatoren und FPGAs tun, für beides gibt es passenden Code im Netz.
Einen Switch-Chip ranknoten kannst du an den FPGA sicherlich auch, aber
fertige CPUs kannst du auf absehbar vergessen.
Frage: Wozu? Robuste MIPS-basierte Software-Switches gibt es eine Menge.
Du wirst so bald vermutlich keinen RISCV mit <n> Phy-Interfaces in die
Finger kriegen. CPU-Core ist das eine, ein guter Ethernet-Core und die
passende DMA-Engine das andere.
Wenn du dir wirklich an einer Selbstbau-Switch-Architektur die Nase
blutig rennen willst (sprich, lernen :-) ) dann läge der Ansatz per FPGA
ev. näher (z.B. ECP5 Versa Kit mit 2 GigE Interfaces).
RISC-V ist super, wenn du einen eigene Prozessor im FPGA implementieren,
und keine Lizenzprobleme bekommen willst, oder wenn du Chip Hersteller
bist und ARM oder MIPS keinen Lizenzgebühren zahlen willst.
Für den Anwender des Prozessors ist es aber egal was da für eine
Architektur verwendet wird.
Für nächstes Jahr sind einige RISC-V Chips angekündigt, sooo lange muss
man also nicht mehr warten. Aber ob da welche für Netzwerke optimierte
dabei sind, weiss ich auch nicht.
S. R. schrieb:> Der Linux-Kernel wird nur RV64G unterstützen, was für das bisschen> Management übertrieben ist; einen Port für RV32G wird es nicht geben.
Hab das nicht mehr mitverfolgt, aber angekündigt war auch Unterstützung
für RV32:
http://lkml.iu.edu/hypermail/linux/kernel/1705.2/05551.html