초기 Rust 인프라가 Linux 커널에 추가된 Linux 6.1 이후로 커널 드라이버를 Rust 프로그래밍 언어로 작성할 수 있도록 많은 다른 배관 및 관리 기능이 통합되었습니다. 다가오는 Linux 6.8 커널 주기에서는 최초의 Rust 네트워크 드라이버가 도입될 것입니다.
이번 주 Linux 6.8 출시에 앞서 net-next.git에 병합되었습니다. “net-phy-rust” 분기의 랜딩.. 이는 네트워크 PHY 드라이버에 필요한 Rust 추상화 기능을 갖추고 있습니다. Rust로 작성된 PHY 드라이버를 활성화하는 데 필요한 phylib 코드 및 기타 비트에 대한 Rust 바인딩이 있습니다.
이 작업은 Asix PHY 드라이버의 Rust 버전을 추가하는 것으로 마무리됩니다. 기존 ax88796b C 드라이버 코드는 Rust 프로그래밍 언어로 다시 작성되었습니다. Rust 버전은 C 버전과 동일하며 사용자가 Rust 버전을 사용하여 커널을 빌드하지 않는 한 기본값으로 유지됩니다.
그만큼 RUST ASIX PHY 드라이버 이는 약 135줄의 Rust 코드와 다양한 빌드 시스템 부분으로 구성됩니다. Rust ASIX PHY 드라이버는 드라이버를 ax88796b_rust로 생성하는 Kconfig 키 “AX88796B_RUST_PHY”를 사용하여 활성화할 수 있습니다.
AX88796B 드라이버는 X-Surf 100 AX88796B 패키지에 포함된 Asix Electronics PHY를 지원하는 데 사용됩니다. AX88796B는 HVAC 제어부터 보안 시스템 및 기타 산업 제어 시스템에 이르기까지 임베디드 및 산업용 애플리케이션에 사용되는 100M 고속 이더넷 컨트롤러입니다. 따라서 이것은 가장 흥미로운 네트워크 장치는 아니지만(이 장치는 이미 C 드라이버에서 지원됩니다), 이 Rust PHY 드라이버는 시작이며 다른 보안 메모리 네트워크 드라이버가 사용할 수 있도록 인터페이스/링크에서 공을 굴립니다. 앞으로 설계될 것입니다. 네트워킹 하위 시스템에는 다른 Rust 이벤트가 있었습니다. Linux 6.8에서 이 새 드라이버를 찾으십시오.