linux-next/drivers/net/wireguard
Daniel Borkmann 06a34f7db7 wireguard: device: support big tcp GSO
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().
We've seen a 15% improvement in TCP stream performance.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Link: https://patch.msgid.link/20241117212030.629159-5-Jason@zx2c4.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-11-18 19:32:27 -08:00
..
selftest wireguard: allowedips: remove redundant selftest call 2024-11-18 19:32:27 -08:00
allowedips.c wireguard: allowedips: avoid unaligned 64-bit memory accesses 2024-07-05 17:21:10 -07:00
allowedips.h wireguard: allowedips: free empty intermediate nodes when removing single node 2021-06-04 14:25:14 -07:00
cookie.c wireguard: do not include crypto/algapi.h 2023-09-15 18:29:44 +08:00
cookie.h
device.c wireguard: device: support big tcp GSO 2024-11-18 19:32:27 -08:00
device.h wireguard: receive: use ring buffer for incoming handshakes 2021-11-29 19:50:50 -08:00
main.c genetlink: remove linux/genetlink.h 2024-04-01 21:44:34 -07:00
Makefile wireguard: do not use -O3 2021-06-04 14:25:14 -07:00
messages.h wireguard: queueing: preserve flow hash across packet scrubbing 2020-05-20 20:55:09 -07:00
netlink.c wireguard: netlink: access device through ctx instead of peer 2024-03-19 11:22:50 +01:00
netlink.h
noise.c wireguard: do not include crypto/algapi.h 2023-09-15 18:29:44 +08:00
noise.h wireguard: noise: separate receive counter from send counter 2020-05-20 20:55:09 -07:00
peer.c net: drop the weight argument from netif_napi_add 2022-09-28 18:57:14 -07:00
peer.h wireguard: peer: allocate in kmem_cache 2021-06-04 14:25:14 -07:00
peerlookup.c wireguard: peerlookup: take lock before checking hash in replace operation 2020-09-09 11:31:38 -07:00
peerlookup.h
queueing.c wireguard: queueing: use saner cpu selection wrapping 2023-07-03 09:17:52 +01:00
queueing.h wireguard: queueing: annotate intentional data race in cpu round robin 2024-07-05 17:21:10 -07:00
ratelimiter.c wireguard: ratelimiter: use kvcalloc() instead of kvzalloc() 2021-11-29 19:50:50 -08:00
ratelimiter.h
receive.c wireguard: receive: annotate data-race around receiving_counter.counter 2024-03-19 11:22:49 +01:00
send.c wireguard: send: annotate intentional data race in checking empty queue 2024-07-05 17:21:10 -07:00
socket.c wireguard: socket: ignore v6 endpoints when ipv6 is disabled 2022-03-30 19:14:09 -07:00
socket.h
timers.c wireguard: timers: move to using timer_delete_sync 2023-07-03 09:17:52 +01:00
timers.h
version.h