linux/tools/testing/selftests/net/tcp_ao
Eric Biggers 068f5a0095 net/tcp-ao: Use crypto library API instead of crypto_ahash
Currently the kernel's TCP-AO implementation does the MAC and KDF
computations using the crypto_ahash API.  This API is inefficient and
difficult to use, and it has required extensive workarounds in the form
of per-CPU preallocated objects (tcp_sigpool) to work at all.

Let's use lib/crypto/ instead.  This means switching to straightforward
stack-allocated structures, virtually addressed buffers, and direct
function calls.  It also means removing quite a bit of error handling.
This makes TCP-AO quite a bit faster.

This also enables many additional cleanups, which later commits will
handle: removing tcp-sigpool, removing support for crypto_tfm cloning,
removing more error handling, and replacing more dynamically-allocated
buffers with stack buffers based on the now-statically-known limits.

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Link: https://patch.msgid.link/20260427172727.9310-3-ebiggers@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-04-30 09:38:56 +02:00
..
lib selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
.gitignore
bench-lookups.c selftests/net: Add trace events matching to tcp_ao 2024-08-27 14:11:27 -07:00
config net/tcp-ao: Use crypto library API instead of crypto_ahash 2026-04-30 09:38:56 +02:00
connect-deny.c selftests/net: Add mixed select()+polling mode to TCP-AO tests 2025-03-25 06:10:30 -07:00
connect.c selftests/net: Drop timeout argument from test_client_verify() 2025-03-25 06:10:30 -07:00
icmps-accept.c selftests/net: Add TCP-AO ICMPs accept test 2023-12-17 10:41:54 +00:00
icmps-discard.c selftests/net: Drop timeout argument from test_client_verify() 2025-03-25 06:10:30 -07:00
key-management.c net/tcp-ao: Drop support for most non-RFC-specified algorithms 2026-04-30 09:38:56 +02:00
Makefile selftests/net: Add trace events matching to tcp_ao 2024-08-27 14:11:27 -07:00
restore.c selftests/net: Drop timeout argument from test_client_verify() 2025-03-25 06:10:30 -07:00
rst.c selftests/net: Drop timeout argument from test_client_verify() 2025-03-25 06:10:30 -07:00
self-connect.c net/selftests: Add loopback link local route for self-connect 2025-04-03 15:08:31 -07:00
seq-ext.c selftests: tcp_ao: fix spelling in seq-ext.c comment 2025-06-12 18:14:24 -07:00
setsockopt-closed.c selftest/tcp-ao: Add filter tests 2024-10-28 15:53:50 -07:00
settings selftests: tcp_ao: set the timeout to 2 minutes 2024-01-25 16:00:50 -08:00
unsigned-md5.c selftests/net: Print the testing side in unsigned-md5 2025-03-25 06:10:30 -07:00