tls: kernel TLS support
authorDave Watson <davejwatson@fb.com>
Wed, 14 Jun 2017 18:37:39 +0000 (11:37 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 Jun 2017 16:12:40 +0000 (12:12 -0400)
commit3c4d7559159bfe1e3b94df3a657b2cda3a34e218
tree57a99de1db4ac5bb65ea9cf2ee6e7156d6c64d6d
parente3b5616a347603a521fe3ac46f3194a60900e3a7
tls: kernel TLS support

Software implementation of transport layer security, implemented using ULP
infrastructure.  tcp proto_ops are replaced with tls equivalents of sendmsg and
sendpage.

Only symmetric crypto is done in the kernel, keys are passed by setsockopt
after the handshake is complete.  All control messages are supported via CMSG
data - the actual symmetric encryption is the same, just the message type needs
to be passed separately.

For user API, please see Documentation patch.

Pieces that can be shared between hw and sw implementation
are in tls_main.c

Signed-off-by: Boris Pismenny <borisp@mellanox.com>
Signed-off-by: Ilya Lesokhin <ilyal@mellanox.com>
Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com>
Signed-off-by: Dave Watson <davejwatson@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
MAINTAINERS
include/linux/socket.h
include/net/tls.h [new file with mode: 0644]
include/uapi/linux/tls.h [new file with mode: 0644]
net/Kconfig
net/Makefile
net/tls/Kconfig [new file with mode: 0644]
net/tls/Makefile [new file with mode: 0644]
net/tls/tls_main.c [new file with mode: 0644]
net/tls/tls_sw.c [new file with mode: 0644]