Rusty rail is inspired by the Google Maglev paper
Bridges a single interface in full passthrough mode to preserve connections to host, and directs all GRE packets back out the wire interface.
Rusty rail uses Netmap - install that first.
Netmap transmitted packets don't get offloaded checksums processed, so while running Rusty rail offload must be disabled on the interfaces in use:
sudo ethtool -K eth0 tx off rx off gro off tso off gso off
Rusty rail is written in Rust so you will need a working installation, and Cargo is highly recommended to manage the build process.
git clone XXX
cargo build
sudo RR_DEVICE=eth0 cargo run
Configuration is via environment variables.
RR_DEVICE
should be the name of the interface to receive and transmit GRE wrapped packets on.
Apache-2.0.