[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e59430e9-ed20-4358-bddf-fa5bf6f0d0da@lunn.ch>
Date: Fri, 15 Aug 2025 21:10:34 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Guilherme Novaes Lima <acc.guilhermenl@...il.com>
Cc: netdev@...r.kernel.org
Subject: Re: Seeking guidance on Rust porting for network driver as a
learning project
> If there are any maintainers or experienced folks willing to offer
> guidance or suggest a suitable driver for this kind of project, I’d
> be very grateful.
The problem is, network devices make use of a very large number of
APIs into core Linux. It is hard to write a Rust networking driver
until there are rust bindings for all these APIs.
To stand any chance of writing a networking driver in Rust, you need
to find a really simple device. How far has Rust got with I2C or SPI?
Is it possible to write a simple Rust I2C or SPI client driver? If so,
maybe look for an I2C or SPI network device which is currently
unsupported. That will simplify things a lot.
Or maybe see if you can find a USB Ethernet dongle which is currently
unsupported, that would make use of usbnet to provide most of the
code. You then need a Rust binding onto usbnet, plus a number of other
Rust bindings onto anything else needed.
This is not a simple problems space. It is going to need a lot of time
and effort to do anything useful.
Andrew
Powered by blists - more mailing lists