mirror of https://github.com/F-Stack/f-stack.git
80 lines
1.8 KiB
C
80 lines
1.8 KiB
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright 2022-2023 Huawei Technologies Co.,Ltd. All rights reserved.
|
|
* Copyright 2022-2023 Linaro ltd.
|
|
*/
|
|
|
|
#ifndef _UADK_CRYPTO_PMD_PRIVATE_H_
|
|
#define _UADK_CRYPTO_PMD_PRIVATE_H_
|
|
|
|
/* Maximum length for digest (SHA-512 needs 64 bytes) */
|
|
#define DIGEST_LENGTH_MAX 64
|
|
|
|
struct uadk_qp {
|
|
/* Ring for placing process packets */
|
|
struct rte_ring *processed_pkts;
|
|
/* Queue pair statistics */
|
|
struct rte_cryptodev_stats qp_stats;
|
|
/* Queue Pair Identifier */
|
|
uint16_t id;
|
|
/* Unique Queue Pair Name */
|
|
char name[RTE_CRYPTODEV_NAME_MAX_LEN];
|
|
/* Buffer used to store the digest generated
|
|
* by the driver when verifying a digest provided
|
|
* by the user (using authentication verify operation)
|
|
*/
|
|
uint8_t temp_digest[DIGEST_LENGTH_MAX];
|
|
} __rte_cache_aligned;
|
|
|
|
enum uadk_chain_order {
|
|
UADK_CHAIN_ONLY_CIPHER,
|
|
UADK_CHAIN_ONLY_AUTH,
|
|
UADK_CHAIN_CIPHER_AUTH,
|
|
UADK_CHAIN_AUTH_CIPHER,
|
|
UADK_CHAIN_NOT_SUPPORTED
|
|
};
|
|
|
|
struct uadk_crypto_session {
|
|
handle_t handle_cipher;
|
|
handle_t handle_digest;
|
|
enum uadk_chain_order chain_order;
|
|
|
|
/* IV parameters */
|
|
struct {
|
|
uint16_t length;
|
|
uint16_t offset;
|
|
} iv;
|
|
|
|
/* Cipher Parameters */
|
|
struct {
|
|
enum rte_crypto_cipher_operation direction;
|
|
struct wd_cipher_req req;
|
|
} cipher;
|
|
|
|
/* Authentication Parameters */
|
|
struct {
|
|
struct wd_digest_req req;
|
|
enum rte_crypto_auth_operation operation;
|
|
uint16_t digest_length;
|
|
} auth;
|
|
} __rte_cache_aligned;
|
|
|
|
enum uadk_crypto_version {
|
|
UADK_CRYPTO_V2,
|
|
UADK_CRYPTO_V3,
|
|
};
|
|
|
|
struct uadk_crypto_priv {
|
|
bool env_cipher_init;
|
|
bool env_auth_init;
|
|
enum uadk_crypto_version version;
|
|
} __rte_cache_aligned;
|
|
|
|
extern int uadk_crypto_logtype;
|
|
|
|
#define UADK_LOG(level, fmt, ...) \
|
|
rte_log(RTE_LOG_ ## level, uadk_crypto_logtype, \
|
|
"%s() line %u: " fmt "\n", __func__, __LINE__, \
|
|
## __VA_ARGS__)
|
|
|
|
#endif /* _UADK_CRYPTO_PMD_PRIVATE_H_ */
|