e7fe3183b0
Effectively the only way to recover from errors in the communication with pcid is by restarting the driver from scratch possibly after restarting pcid. As such moving the aborts from individual drivers to pcid_interface simplifies drivers while at the same time allowing nicer error messages.
ixgbed (a.k.a. ixy.rs on Redox)
ixgbed is the Redox port of ixy.rs, a Rust rewrite of the ixy userspace network driver.
It is designed to be readable, idiomatic Rust code.
It supports Intel 82599 10GbE NICs (ixgbe family).
Features
- first 10 Gbit/s network driver on Redox
- transmitting 250 times faster than e1000 / rtl8168 driver
- MSI-X interrupts (not supported by Redox yet)
- less than 1000 lines of code for the driver
- documented code
Build instructions
See the Redox README for build instructions.
To run ixgbed on Redox (in case the driver is not shipped with Redox anymore)
- clone this project into
cookbook/recipes/drivers/source/ - create an entry for ixgbed in
cookbook/recipes/drivers/source/Cargo.toml - check if your ixgbe device is included in
config.toml - touch
filesystem.tomlin Redox's root directory, build Redox and run it
Usage
To test the driver's transmit and forwarding capabilities, have a look at rheinfall, a simple packet generator / forwarder application.
Docs
ixgbed contains documentation that can be created and viewed by running
cargo doc --open