Rust Porting Begins For Intel's "e1000" Linux Network Driver

Written by Michael Larabel in Intel on 19 September 2022 at 05:48 AM EDT. 117 Comments
Adding to the growing examples and early drivers being worked on for the Linux kernel to showcase the possibilities of using the Rust programming language within the kernel, an early port of Intel's e1000 wired networking driver has started.

The Intel e1000 driver is used by many of the Intel Gigabit wired Ethernet adapters. Thus porting it to Rust would expose it to a lot of systems and in turn see a lot of use. Though at the moment the driver is still incomplete and it doesn't appear Intel is onboard with it yet, so it's not necessarily going to replace the official e1000 C driver.

Developer Fujita Tomonori announced the work today on the Rust-written e1000 driver. At the moment this Rust driver is working within a QEMU virtual environment while further work is needed before it's expected to be running on actual Intel hardware. Given the early state of the Rust kernel code and many kernel abstractions not yet being wired up, this driver is also currently relying on a number of C bindings. At the very least this "rust-e1000" driver is helping to figure out proper Rust PCI / DMA / network abstractions for future Rust NIC (network) drivers.

In any event those wanting to learn more about the early Intel e1000 driver implementation within Rust can see this rust-for-linux thread. The early Rust code can be found on GitHub.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week