In den net-next Branch, in dem Ănderungen fĂŒr den Linux-Kernel 6.8 entwickelt werden, wurden Ănderungen aufgenommen, die eine anfĂ€ngliche Rust-Bindung ĂŒber der Abstraktionsebene phylib im Kernel hinzufĂŒgen und einen Treiber ax88796b_rust verwenden, der die UnterstĂŒtzung fĂŒr das PHY-Interface des Ethernet-Controllers Asix AX88772A (100MBit) bereitstellt. Der Treiber umfasst 135 Codezeilen und wird als einfaches Arbeitsbeispiel zum Erstellen von Netzwerktreibern in Rust positioniert, das bereit ist, mit echter Hardware verwendet zu werden.
In Bezug auf die FunktionalitĂ€t ist der Treiber in Rust vollstĂ€ndig Ă€quivalent zum alten Treiber ax88796b, der in C geschrieben ist, und kann mit den X-Surf 100 Netzwerkarten verwendet werden, die mit dem Chip AX88796B ausgestattet sind. Beide Treiber, der in C und der in Rust, werden im Kernel koexistieren und können je nach Vorliebe der Benutzer aktiviert werden. Um den Rust-Treiber im Kconfig zu aktivieren, ist die Einstellung AX88796B_RUST_PHY vorgesehen, zusammen mit der auch die Rust-Bindung ĂŒber phylib mit dem Parameter RUST_PHYLIB_ABSTRACTIONS aktiviert werden muss.
DarĂŒber hinaus wurde ein Ethernet-Treiber Realtek Generic FE-GE in Rust entwickelt, der bisher nicht zur Aufnahme in den Kernel vorgeschlagen wurde. Zuvor wurde auch ein Prototyp des Treibers rust-e1000 fĂŒr Intel Ethernet-Adapter, der in Rust neu geschrieben wurde, vorgestellt.
Quelle: opennet.ru
