meh / rust-tun

TUN device creation and handling.
340 stars 133 forks source link

GRO/GSO on Linux #62

Open M0dEx opened 1 year ago

M0dEx commented 1 year ago

Currently, with high throughput workloads, the Linux implementation struggles to get beyond ~ 1.3 Gbps of throughput (could be marginally more with nothing but rust-tun).

This could be improved by implementing GRO and GSO for TCP and UDP packets, which has been added and benchmarked by Tailscale in the TUN driver of wireguard-go, leading to significant improvements in throughput, as described in the following articles:

This would be a non-trivial change, but I might take it on later this year, as I would really love to use it in quincy, which uses rust-tun.

This relates to https://github.com/M0dEx/quincy/issues/10

GyulyVGC commented 6 months ago

This is a feature I'm really interested in as well!