forked from Minki/linux
net/tls: Describe ciphers sizes by const structs
Introduce cipher sizes descriptor. It helps reducing the amount of code duplications and repeated switch/cases that assigns the proper sizes according to the cipher type. Signed-off-by: Tariq Toukan <tariqt@nvidia.com> Signed-off-by: Gal Pressman <gal@nvidia.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
8db3d514e9
commit
2d2c5ea242
@ -51,6 +51,16 @@
|
|||||||
|
|
||||||
struct tls_rec;
|
struct tls_rec;
|
||||||
|
|
||||||
|
struct tls_cipher_size_desc {
|
||||||
|
unsigned int iv;
|
||||||
|
unsigned int key;
|
||||||
|
unsigned int salt;
|
||||||
|
unsigned int tag;
|
||||||
|
unsigned int rec_seq;
|
||||||
|
};
|
||||||
|
|
||||||
|
extern const struct tls_cipher_size_desc tls_cipher_size_desc[];
|
||||||
|
|
||||||
/* Maximum data size carried in a TLS record */
|
/* Maximum data size carried in a TLS record */
|
||||||
#define TLS_MAX_PAYLOAD_SIZE ((size_t)1 << 14)
|
#define TLS_MAX_PAYLOAD_SIZE ((size_t)1 << 14)
|
||||||
|
|
||||||
|
@ -58,6 +58,23 @@ enum {
|
|||||||
TLS_NUM_PROTS,
|
TLS_NUM_PROTS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define CIPHER_SIZE_DESC(cipher) [cipher] = { \
|
||||||
|
.iv = cipher ## _IV_SIZE, \
|
||||||
|
.key = cipher ## _KEY_SIZE, \
|
||||||
|
.salt = cipher ## _SALT_SIZE, \
|
||||||
|
.tag = cipher ## _TAG_SIZE, \
|
||||||
|
.rec_seq = cipher ## _REC_SEQ_SIZE, \
|
||||||
|
}
|
||||||
|
|
||||||
|
const struct tls_cipher_size_desc tls_cipher_size_desc[] = {
|
||||||
|
CIPHER_SIZE_DESC(TLS_CIPHER_AES_GCM_128),
|
||||||
|
CIPHER_SIZE_DESC(TLS_CIPHER_AES_GCM_256),
|
||||||
|
CIPHER_SIZE_DESC(TLS_CIPHER_AES_CCM_128),
|
||||||
|
CIPHER_SIZE_DESC(TLS_CIPHER_CHACHA20_POLY1305),
|
||||||
|
CIPHER_SIZE_DESC(TLS_CIPHER_SM4_GCM),
|
||||||
|
CIPHER_SIZE_DESC(TLS_CIPHER_SM4_CCM),
|
||||||
|
};
|
||||||
|
|
||||||
static const struct proto *saved_tcpv6_prot;
|
static const struct proto *saved_tcpv6_prot;
|
||||||
static DEFINE_MUTEX(tcpv6_prot_mutex);
|
static DEFINE_MUTEX(tcpv6_prot_mutex);
|
||||||
static const struct proto *saved_tcpv4_prot;
|
static const struct proto *saved_tcpv4_prot;
|
||||||
|
Loading…
Reference in New Issue
Block a user