A partire da Linux 6.1, quando l’infrastruttura Rust iniziale fu aggiunta al kernel Linux, da allora sono state integrate molte altre operazioni idrauliche e di pulizia per consentire la scrittura dei driver del kernel nel linguaggio di programmazione Rust. Con l’imminente ciclo del kernel Linux 6.8, verrà introdotto il primo driver di rete Rust.
Questa settimana è stato unito a net-next.git prima del rilascio di Linux 6.8 Atterraggio del ramo “net-phy-rust”.. Presenta le astrazioni Rust necessarie per i driver PHY di rete. Sono presenti collegamenti Rust per il codice phylib e altri bit necessari per abilitare i driver PHY scritti in Rust.
Questo lavoro culmina con l’aggiunta di una versione Rust del driver Asix PHY. Il codice del driver C ax88796b esistente è stato riscritto nel linguaggio di programmazione Rust. La versione Rust è equivalente alla versione C, che rimarrà quella predefinita a meno che l’utente non crei il kernel utilizzando la versione Rust.
IL RUGGINE ASIX PHY DRIVER È composto da circa 135 righe di codice Rust più varie parti del sistema di compilazione. Il driver Rust ASIX PHY può essere abilitato utilizzando la chiave Kconfig “AX88796B_RUST_PHY” che creerà il driver come ax88796b_rust.
Il driver AX88796B viene utilizzato per supportare il PHY Asix Electronics incluso nel pacchetto X-Surf 100 AX88796B. AX88796B è un controller Fast Ethernet 100M utilizzato per applicazioni industriali e integrate, dai controlli HVAC ai sistemi di sicurezza e altri sistemi di controllo industriale. Quindi questo non è il dispositivo di rete più interessante (e il dispositivo è già supportato da un driver C), ma questo driver Rust PHY è un inizio e fa girare la palla sulle interfacce/collegamenti per consentire ad altri driver di rete di memoria sicura di essere progettato per il futuro. Si sono verificati altri eventi Rust nel sottosistema di rete. Cerca questo nuovo driver in Linux 6.8.
“Esploratore. Scrittore appassionato. Appassionato di Twitter. Organizzatore. Amico degli animali ovunque.”