net/tls: Move TLS protocol elements to a separate header

Kernel TLS consumers will need definitions of various parts of the
TLS protocol, but often do not need the function declarations and
other infrastructure provided in <net/tls.h>.

Break out existing standardized protocol elements into a separate
header, and make room for a few more elements in subsequent patches.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Link: https://lore.kernel.org/r/169047931374.5241.7713175865185969309.stgit@oracle-102.nfsv4bat.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Chuck Lever 2023-07-27 13:35:23 -04:00 committed by Jakub Kicinski
parent 6eaae19807
commit 6a7eccef47
6 changed files with 30 additions and 4 deletions

View File

@ -22,6 +22,7 @@
#include <crypto/internal/hash.h>
#include <linux/tls.h>
#include <net/tls.h>
#include <net/tls_prot.h>
#include <net/tls_toe.h>
#include "t4fw_api.h"

View File

@ -69,10 +69,6 @@ extern const struct tls_cipher_size_desc tls_cipher_size_desc[];
#define TLS_CRYPTO_INFO_READY(info) ((info)->cipher_type)
#define TLS_RECORD_TYPE_ALERT 0x15
#define TLS_RECORD_TYPE_HANDSHAKE 0x16
#define TLS_RECORD_TYPE_DATA 0x17
#define TLS_AAD_SPACE_SIZE 13
#define MAX_IV_SIZE 16

26
include/net/tls_prot.h Normal file
View File

@ -0,0 +1,26 @@
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
/*
* Copyright (c) 2023, Oracle and/or its affiliates.
*
* TLS Protocol definitions
*
* From https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml
*/
#ifndef _TLS_PROT_H
#define _TLS_PROT_H
/*
* TLS Record protocol: ContentType
*/
enum {
TLS_RECORD_TYPE_CHANGE_CIPHER_SPEC = 20,
TLS_RECORD_TYPE_ALERT = 21,
TLS_RECORD_TYPE_HANDSHAKE = 22,
TLS_RECORD_TYPE_DATA = 23,
TLS_RECORD_TYPE_HEARTBEAT = 24,
TLS_RECORD_TYPE_TLS12_CID = 25,
TLS_RECORD_TYPE_ACK = 26,
};
#endif /* _TLS_PROT_H */

View File

@ -44,6 +44,7 @@
#include <net/tcp.h>
#include <net/tcp_states.h>
#include <net/tls.h>
#include <net/tls_prot.h>
#include <net/handshake.h>
#include <linux/uaccess.h>
#include <linux/highmem.h>

View File

@ -48,6 +48,7 @@
#include <net/udp.h>
#include <net/tcp.h>
#include <net/tls.h>
#include <net/tls_prot.h>
#include <net/handshake.h>
#include <linux/bvec.h>

View File

@ -39,6 +39,7 @@
#include <linux/types.h>
#include <linux/skmsg.h>
#include <net/tls.h>
#include <net/tls_prot.h>
#define TLS_PAGE_ORDER (min_t(unsigned int, PAGE_ALLOC_COSTLY_ORDER, \
TLS_MAX_PAYLOAD_SIZE >> PAGE_SHIFT))