Files
RedBear-OS/drivers/net/ixgbed
Red Bear OS f904dbbb4c ixgbed: DMA barriers on TDT and RDT doorbells
Same release/acquire fence pattern as the other PCI drivers.
The ixgbe (10 GbE) has the same hand-off semantics as e1000/rtl8168
(OWN/OWN-bit), so the same ordering is required: release fence
before TDT (TX doorbell) and RDT (RX doorbell), and an acquire
fence before reading the descriptor status.

The Linux ixgbe driver applies the same fences in the same
places; see afadba9..c17924b in the upstream tree. The original
Redox port from ixy.rs didn't carry them, which is a real bug
on aarch64 (or on any future cache-coherent extension).
2026-07-26 20:23:44 +09:00
..

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.toml in 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