[PATCH net-next v2] wireguard: Wire-up big tcp support

Daniel Borkmann daniel at iogearbox.net
Mon Oct 7 17:50:07 UTC 2024


Hi Jason,

On 10/7/24 6:42 PM, Jason A. Donenfeld wrote:
> On Fri, Oct 04, 2024 at 06:55:18PM +0200, Daniel Borkmann wrote:
>> Advertise GSO_MAX_SIZE as TSO max size in order support BIG TCP for wireguard.
>> This helps to improve wireguard performance a bit when enabled as it allows
>> wireguard to aggregate larger skbs in wg_packet_consume_data_done() via
>> napi_gro_receive(), but also allows the stack to build larger skbs on xmit
>> where the driver then segments them before encryption inside wg_xmit().
> 
> Thanks, I'll queue this up. Do you have any perf numbers on the speedup,
> btw?

Awesome, thanks! Few weeks back we had an LPC session with some initial work
around wireguard performance (https://lpc.events/event/18/contributions/1968/)
including benchmarks. It depends on the specific scenario, but this as well as
an L2 GRO implementation (yet to come as patches in the next weeks) we got
~+15% for host-host in case of TCP STREAM. In case of Cilium I haven't done
the measurement yet, but I expect that there would be further gains as bigger
packets can traverse the stack and thus less processing in upper layers (e.g.
our tcx BPF code).

Thanks,
Daniel


More information about the WireGuard mailing list