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
This commit is contained in:
John Baldwin 2019-10-08 21:34:06 +00:00 committed by Sebastian Huber
parent 1ef7e3904d
commit 12fb531a70
1 changed files with 1 additions and 0 deletions

View File

@ -357,6 +357,7 @@ struct tcp_function_set {
#define TCP_TLS_MODE_NONE 0 #define TCP_TLS_MODE_NONE 0
#define TCP_TLS_MODE_SW 1 #define TCP_TLS_MODE_SW 1
#define TCP_TLS_MODE_IFNET 2 #define TCP_TLS_MODE_IFNET 2
#define TCP_TLS_MODE_TOE 3
/* /*
* TCP Control message types * TCP Control message types