Skip to content

Commit

Permalink
net/tls: Move TLS protocol elements to a separate header
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
chucklever authored and kuba-moo committed Jul 28, 2023
1 parent 6eaae19 commit 6a7ecce
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 4 deletions.
1 change: 1 addition & 0 deletions drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls.h
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
4 changes: 0 additions & 4 deletions include/net/tls.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
26 changes: 26 additions & 0 deletions include/net/tls_prot.h
Original file line number Diff line number Diff line change
@@ -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 */
1 change: 1 addition & 0 deletions net/sunrpc/svcsock.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
1 change: 1 addition & 0 deletions net/sunrpc/xprtsock.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
1 change: 1 addition & 0 deletions net/tls/tls.h
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down

0 comments on commit 6a7ecce

Please sign in to comment.