]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
OpenSSL: Support for kernel TLS offload (KTLS)
authorJohn Baldwin <jhb@FreeBSD.org>
Sat, 16 Jan 2021 00:17:31 +0000 (16:17 -0800)
committerJohn Baldwin <jhb@FreeBSD.org>
Sat, 6 Feb 2021 01:57:55 +0000 (17:57 -0800)
commitafdbccbf4017c17eed95640bd9daad743388a22b
tree795ea4d927917d33981900ed5bb563a2e7438b8f
parente45bb3902e80da374500a3dc077d7d11cfb3d6ba
OpenSSL: Support for kernel TLS offload (KTLS)

This merges upstream patches from OpenSSL's master branch to add
KTLS infrastructure for TLS 1.0-1.3 including both RX and TX
offload and SSL_sendfile support on both Linux and FreeBSD.

Note that TLS 1.3 only supports TX offload.

A new WITH/WITHOUT_OPENSSL_KTLS determines if OpenSSL is built with
KTLS support.  It defaults to enabled on amd64 and disabled on all
other architectures.

Approved by: re (gjb)
Sponsored by: Netflix

(cherry picked from commit aa906e2a4957db700d9e6cc60857e1afe1aecc85)
(cherry picked from commit c1c52cd57e8810ca294d02220dfa72607c9a5567)
41 files changed:
crypto/openssl/CHANGES
crypto/openssl/Configure
crypto/openssl/INSTALL
crypto/openssl/apps/s_client.c
crypto/openssl/apps/s_server.c
crypto/openssl/crypto/bio/b_sock2.c
crypto/openssl/crypto/bio/bss_conn.c
crypto/openssl/crypto/bio/bss_sock.c
crypto/openssl/crypto/err/openssl.txt
crypto/openssl/crypto/evp/e_aes.c
crypto/openssl/doc/man3/BIO_ctrl.pod
crypto/openssl/doc/man3/SSL_CTX_set_mode.pod
crypto/openssl/doc/man3/SSL_CTX_set_record_padding_callback.pod
crypto/openssl/doc/man3/SSL_write.pod
crypto/openssl/engines/e_afalg.c
crypto/openssl/include/internal/bio.h
crypto/openssl/include/internal/ktls.h [new file with mode: 0644]
crypto/openssl/include/openssl/bio.h
crypto/openssl/include/openssl/err.h
crypto/openssl/include/openssl/evp.h
crypto/openssl/include/openssl/ssl.h
crypto/openssl/include/openssl/sslerr.h
crypto/openssl/ssl/build.info
crypto/openssl/ssl/ktls.c [new file with mode: 0644]
crypto/openssl/ssl/record/rec_layer_s3.c
crypto/openssl/ssl/record/record.h
crypto/openssl/ssl/record/record_local.h
crypto/openssl/ssl/record/ssl3_buffer.c
crypto/openssl/ssl/record/ssl3_record.c
crypto/openssl/ssl/ssl_err.c
crypto/openssl/ssl/ssl_lib.c
crypto/openssl/ssl/ssl_local.h
crypto/openssl/ssl/t1_enc.c
crypto/openssl/ssl/tls13_enc.c
secure/lib/libcrypto/Makefile
secure/lib/libcrypto/opensslconf.h.in
secure/lib/libssl/Makefile
secure/lib/libssl/Version.map
share/mk/src.opts.mk
tools/build/options/WITHOUT_OPENSSL_KTLS [new file with mode: 0644]
tools/build/options/WITH_OPENSSL_KTLS [new file with mode: 0644]