crypto: chcr - Inline TLS Key Macros
Define macro for programming the TLS Key context Signed-off-by: Atul Gupta <atul.gupta@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
e383f24834
Коммит
639d28a1a4
|
@ -86,6 +86,39 @@
|
||||||
KEY_CONTEXT_OPAD_PRESENT_M)
|
KEY_CONTEXT_OPAD_PRESENT_M)
|
||||||
#define KEY_CONTEXT_OPAD_PRESENT_F KEY_CONTEXT_OPAD_PRESENT_V(1U)
|
#define KEY_CONTEXT_OPAD_PRESENT_F KEY_CONTEXT_OPAD_PRESENT_V(1U)
|
||||||
|
|
||||||
|
#define TLS_KEYCTX_RXFLIT_CNT_S 24
|
||||||
|
#define TLS_KEYCTX_RXFLIT_CNT_V(x) ((x) << TLS_KEYCTX_RXFLIT_CNT_S)
|
||||||
|
|
||||||
|
#define TLS_KEYCTX_RXPROT_VER_S 20
|
||||||
|
#define TLS_KEYCTX_RXPROT_VER_M 0xf
|
||||||
|
#define TLS_KEYCTX_RXPROT_VER_V(x) ((x) << TLS_KEYCTX_RXPROT_VER_S)
|
||||||
|
|
||||||
|
#define TLS_KEYCTX_RXCIPH_MODE_S 16
|
||||||
|
#define TLS_KEYCTX_RXCIPH_MODE_M 0xf
|
||||||
|
#define TLS_KEYCTX_RXCIPH_MODE_V(x) ((x) << TLS_KEYCTX_RXCIPH_MODE_S)
|
||||||
|
|
||||||
|
#define TLS_KEYCTX_RXAUTH_MODE_S 12
|
||||||
|
#define TLS_KEYCTX_RXAUTH_MODE_M 0xf
|
||||||
|
#define TLS_KEYCTX_RXAUTH_MODE_V(x) ((x) << TLS_KEYCTX_RXAUTH_MODE_S)
|
||||||
|
|
||||||
|
#define TLS_KEYCTX_RXCIAU_CTRL_S 11
|
||||||
|
#define TLS_KEYCTX_RXCIAU_CTRL_V(x) ((x) << TLS_KEYCTX_RXCIAU_CTRL_S)
|
||||||
|
|
||||||
|
#define TLS_KEYCTX_RX_SEQCTR_S 9
|
||||||
|
#define TLS_KEYCTX_RX_SEQCTR_M 0x3
|
||||||
|
#define TLS_KEYCTX_RX_SEQCTR_V(x) ((x) << TLS_KEYCTX_RX_SEQCTR_S)
|
||||||
|
|
||||||
|
#define TLS_KEYCTX_RX_VALID_S 8
|
||||||
|
#define TLS_KEYCTX_RX_VALID_V(x) ((x) << TLS_KEYCTX_RX_VALID_S)
|
||||||
|
|
||||||
|
#define TLS_KEYCTX_RXCK_SIZE_S 3
|
||||||
|
#define TLS_KEYCTX_RXCK_SIZE_M 0x7
|
||||||
|
#define TLS_KEYCTX_RXCK_SIZE_V(x) ((x) << TLS_KEYCTX_RXCK_SIZE_S)
|
||||||
|
|
||||||
|
#define TLS_KEYCTX_RXMK_SIZE_S 0
|
||||||
|
#define TLS_KEYCTX_RXMK_SIZE_M 0x7
|
||||||
|
#define TLS_KEYCTX_RXMK_SIZE_V(x) ((x) << TLS_KEYCTX_RXMK_SIZE_S)
|
||||||
|
|
||||||
#define CHCR_HASH_MAX_DIGEST_SIZE 64
|
#define CHCR_HASH_MAX_DIGEST_SIZE 64
|
||||||
#define CHCR_MAX_SHA_DIGEST_SIZE 64
|
#define CHCR_MAX_SHA_DIGEST_SIZE 64
|
||||||
|
|
||||||
|
@ -176,6 +209,15 @@
|
||||||
KEY_CONTEXT_SALT_PRESENT_V(1) | \
|
KEY_CONTEXT_SALT_PRESENT_V(1) | \
|
||||||
KEY_CONTEXT_CTX_LEN_V((ctx_len)))
|
KEY_CONTEXT_CTX_LEN_V((ctx_len)))
|
||||||
|
|
||||||
|
#define FILL_KEY_CRX_HDR(ck_size, mk_size, d_ck, opad, ctx_len) \
|
||||||
|
htonl(TLS_KEYCTX_RXMK_SIZE_V(mk_size) | \
|
||||||
|
TLS_KEYCTX_RXCK_SIZE_V(ck_size) | \
|
||||||
|
TLS_KEYCTX_RX_VALID_V(1) | \
|
||||||
|
TLS_KEYCTX_RX_SEQCTR_V(3) | \
|
||||||
|
TLS_KEYCTX_RXAUTH_MODE_V(4) | \
|
||||||
|
TLS_KEYCTX_RXCIPH_MODE_V(2) | \
|
||||||
|
TLS_KEYCTX_RXFLIT_CNT_V((ctx_len)))
|
||||||
|
|
||||||
#define FILL_WR_OP_CCTX_SIZE \
|
#define FILL_WR_OP_CCTX_SIZE \
|
||||||
htonl( \
|
htonl( \
|
||||||
FW_CRYPTO_LOOKASIDE_WR_OPCODE_V( \
|
FW_CRYPTO_LOOKASIDE_WR_OPCODE_V( \
|
||||||
|
|
|
@ -65,10 +65,58 @@ struct uld_ctx;
|
||||||
struct _key_ctx {
|
struct _key_ctx {
|
||||||
__be32 ctx_hdr;
|
__be32 ctx_hdr;
|
||||||
u8 salt[MAX_SALT];
|
u8 salt[MAX_SALT];
|
||||||
__be64 reserverd;
|
__be64 iv_to_auth;
|
||||||
unsigned char key[0];
|
unsigned char key[0];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define KEYCTX_TX_WR_IV_S 55
|
||||||
|
#define KEYCTX_TX_WR_IV_M 0x1ffULL
|
||||||
|
#define KEYCTX_TX_WR_IV_V(x) ((x) << KEYCTX_TX_WR_IV_S)
|
||||||
|
#define KEYCTX_TX_WR_IV_G(x) \
|
||||||
|
(((x) >> KEYCTX_TX_WR_IV_S) & KEYCTX_TX_WR_IV_M)
|
||||||
|
|
||||||
|
#define KEYCTX_TX_WR_AAD_S 47
|
||||||
|
#define KEYCTX_TX_WR_AAD_M 0xffULL
|
||||||
|
#define KEYCTX_TX_WR_AAD_V(x) ((x) << KEYCTX_TX_WR_AAD_S)
|
||||||
|
#define KEYCTX_TX_WR_AAD_G(x) (((x) >> KEYCTX_TX_WR_AAD_S) & \
|
||||||
|
KEYCTX_TX_WR_AAD_M)
|
||||||
|
|
||||||
|
#define KEYCTX_TX_WR_AADST_S 39
|
||||||
|
#define KEYCTX_TX_WR_AADST_M 0xffULL
|
||||||
|
#define KEYCTX_TX_WR_AADST_V(x) ((x) << KEYCTX_TX_WR_AADST_S)
|
||||||
|
#define KEYCTX_TX_WR_AADST_G(x) \
|
||||||
|
(((x) >> KEYCTX_TX_WR_AADST_S) & KEYCTX_TX_WR_AADST_M)
|
||||||
|
|
||||||
|
#define KEYCTX_TX_WR_CIPHER_S 30
|
||||||
|
#define KEYCTX_TX_WR_CIPHER_M 0x1ffULL
|
||||||
|
#define KEYCTX_TX_WR_CIPHER_V(x) ((x) << KEYCTX_TX_WR_CIPHER_S)
|
||||||
|
#define KEYCTX_TX_WR_CIPHER_G(x) \
|
||||||
|
(((x) >> KEYCTX_TX_WR_CIPHER_S) & KEYCTX_TX_WR_CIPHER_M)
|
||||||
|
|
||||||
|
#define KEYCTX_TX_WR_CIPHERST_S 23
|
||||||
|
#define KEYCTX_TX_WR_CIPHERST_M 0x7f
|
||||||
|
#define KEYCTX_TX_WR_CIPHERST_V(x) ((x) << KEYCTX_TX_WR_CIPHERST_S)
|
||||||
|
#define KEYCTX_TX_WR_CIPHERST_G(x) \
|
||||||
|
(((x) >> KEYCTX_TX_WR_CIPHERST_S) & KEYCTX_TX_WR_CIPHERST_M)
|
||||||
|
|
||||||
|
#define KEYCTX_TX_WR_AUTH_S 14
|
||||||
|
#define KEYCTX_TX_WR_AUTH_M 0x1ff
|
||||||
|
#define KEYCTX_TX_WR_AUTH_V(x) ((x) << KEYCTX_TX_WR_AUTH_S)
|
||||||
|
#define KEYCTX_TX_WR_AUTH_G(x) \
|
||||||
|
(((x) >> KEYCTX_TX_WR_AUTH_S) & KEYCTX_TX_WR_AUTH_M)
|
||||||
|
|
||||||
|
#define KEYCTX_TX_WR_AUTHST_S 7
|
||||||
|
#define KEYCTX_TX_WR_AUTHST_M 0x7f
|
||||||
|
#define KEYCTX_TX_WR_AUTHST_V(x) ((x) << KEYCTX_TX_WR_AUTHST_S)
|
||||||
|
#define KEYCTX_TX_WR_AUTHST_G(x) \
|
||||||
|
(((x) >> KEYCTX_TX_WR_AUTHST_S) & KEYCTX_TX_WR_AUTHST_M)
|
||||||
|
|
||||||
|
#define KEYCTX_TX_WR_AUTHIN_S 0
|
||||||
|
#define KEYCTX_TX_WR_AUTHIN_M 0x7f
|
||||||
|
#define KEYCTX_TX_WR_AUTHIN_V(x) ((x) << KEYCTX_TX_WR_AUTHIN_S)
|
||||||
|
#define KEYCTX_TX_WR_AUTHIN_G(x) \
|
||||||
|
(((x) >> KEYCTX_TX_WR_AUTHIN_S) & KEYCTX_TX_WR_AUTHIN_M)
|
||||||
|
|
||||||
struct chcr_wr {
|
struct chcr_wr {
|
||||||
struct fw_crypto_lookaside_wr wreq;
|
struct fw_crypto_lookaside_wr wreq;
|
||||||
struct ulp_txpkt ulptx;
|
struct ulp_txpkt ulptx;
|
||||||
|
@ -90,6 +138,11 @@ struct uld_ctx {
|
||||||
struct chcr_dev *dev;
|
struct chcr_dev *dev;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct sge_opaque_hdr {
|
||||||
|
void *dev;
|
||||||
|
dma_addr_t addr[MAX_SKB_FRAGS + 1];
|
||||||
|
};
|
||||||
|
|
||||||
struct chcr_ipsec_req {
|
struct chcr_ipsec_req {
|
||||||
struct ulp_txpkt ulptx;
|
struct ulp_txpkt ulptx;
|
||||||
struct ulptx_idata sc_imm;
|
struct ulptx_idata sc_imm;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче