]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add a TOE KTLS mode and a TOE hook for allocating TLS sessions.
authorjhb <jhb@FreeBSD.org>
Tue, 8 Oct 2019 21:34:06 +0000 (21:34 +0000)
committerjhb <jhb@FreeBSD.org>
Tue, 8 Oct 2019 21:34:06 +0000 (21:34 +0000)
commit02e5a4c53c6b247ad15ecf2e7bb3f12564cc2bd2
treea04cfa4e909307db8e5bade6407d50314678e525
parentb68ee60bab24e22d6e43ece29a36c9326eec43f2
Add a TOE KTLS mode and a TOE hook for allocating TLS sessions.

This adds the glue to allocate TLS sessions and invokes it from
the TLS enable socket option handler.  This also adds some counters
for active TOE sessions.

The TOE KTLS mode is returned by getsockopt(TLSTX_TLS_MODE) when
TOE KTLS is in use on a socket, but cannot be set via setsockopt().

To simplify various checks, a TLS session now includes an explicit
'mode' member set to the value returned by TLSTX_TLS_MODE.  Various
places that used to check 'sw_encrypt' against NULL to determine
software vs ifnet (NIC) TLS now check 'mode' instead.

Reviewed by: np, gallatin
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D21891
sys/kern/kern_sendfile.c
sys/kern/uipc_ktls.c
sys/kern/uipc_socket.c
sys/netinet/tcp.h
sys/netinet/tcp_offload.c
sys/netinet/tcp_offload.h
sys/netinet/tcp_usrreq.c
sys/netinet/toecore.c
sys/netinet/toecore.h
sys/sys/ktls.h