aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/init
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2021-08-08 23:56:14 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2021-09-08 19:37:09 +0200
commit0bea3f9ffd5d27605817f25003f475d25c6aecfe (patch)
tree642cbaab616bd1887d6589db484c0039a67edae7 /init
parentwireguard: device: reset peer src endpoint when netns exits (diff)
downloadwireguard-linux-0bea3f9ffd5d27605817f25003f475d25c6aecfe.tar.xz
wireguard-linux-0bea3f9ffd5d27605817f25003f475d25c6aecfe.zip
wireguard: receive: use ring buffer for incoming handshakes
Apparently the spinlock on incoming_handshake's skb_queue is highly contended, and a torrent of handshake or cookie packets can bring the data plane to its knees, simply by virtue of enqueueing the handshake packets to be processed asynchronously. So, we try switching this to a ring buffer to hopefully have less lock contention. This alleviates the problem somewhat, though it still isn't perfect, so future patches will have to improve this further. However, it at least doesn't completely diminish the data plane. Reported-by: Streun Fabio <fstreun@student.ethz.ch> Reported-by: Joel Wanner <joel.wanner@inf.ethz.ch> Cc: stable@vger.kernel.org Fixes: e7096c131e51 ("net: WireGuard secure network tunnel") Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions