Linux 6.8 Core Plans First Rust Network Driver

In the Net-Next branch, changes have been made to the Linux 6.8 nucleus, which includes the addition of the initial RUST-FIRSTACE Nove Phylib, a level of abstraction for supporting network boards. These changes have also introduced the AX88796B_RUST strapping driver, which supports the Ethernet controller of the ASIX AX88772A (100MBIT) and is available for use with real equipment. The driver consists of 135 lines of code and serves as a simple working example for creating network drivers in Rust.

The driver on Rust (AX88796B_RUST) is functionally equivalent to the old driver Ax88796b written in the language of SI. It can be used with X-Surf 100 network cards that are equipped with an AX88796B chip. Both drivers, SI and RUST, will coexist in the nucleus and can be enabled based on user preference. To turn on the driver on Rust, users need to configure the AX88796B_RUST_PHY parameter in Kconfig and enable the Rust_Phylib_Abstractions parameter for Rust renewal over Phylib.

Additionally, Ethernet drives for the Realtek Generic Fe-Ge have been designed in the Rust language. However, these drives have not yet been proposed for inclusion in the nucleus. Previously, a prototype of the rust-e1000 driver for Ethernet Adaptors was also rewritten in Rust.

/Reports, release notes, official announcements.