Signed-off-by: Nicolas Morey-Chaisemartin <nmo...@kalray.eu> --- example/ipsec/odp_ipsec_cache.c | 2 +- example/ipsec/odp_ipsec_cache.h | 4 +- example/ipsec/odp_ipsec_misc.h | 4 +- include/odp/api/crypto.h | 140 ++++++++++----------- .../linux-generic/include/odp/plat/crypto_types.h | 42 ------- .../linux-generic/include/odp_crypto_internal.h | 12 +- platform/linux-generic/odp_crypto.c | 29 +++-- test/validation/crypto/odp_crypto_test_inp.c | 10 +- 8 files changed, 93 insertions(+), 150 deletions(-)
diff --git a/example/ipsec/odp_ipsec_cache.c b/example/ipsec/odp_ipsec_cache.c index 6a8f3c9..0883d4d 100644 --- a/example/ipsec/odp_ipsec_cache.c +++ b/example/ipsec/odp_ipsec_cache.c @@ -46,7 +46,7 @@ int create_ipsec_cache_entry(sa_db_entry_t *cipher_sa, { odp_crypto_session_params_t params; ipsec_cache_entry_t *entry; - enum odp_crypto_ses_create_err ses_create_rc; + odp_crypto_ses_create_err_t ses_create_rc; odp_crypto_session_t session; sa_mode_t mode = IPSEC_SA_MODE_TRANSPORT; diff --git a/example/ipsec/odp_ipsec_cache.h b/example/ipsec/odp_ipsec_cache.h index 5706007..91d9d7e 100644 --- a/example/ipsec/odp_ipsec_cache.h +++ b/example/ipsec/odp_ipsec_cache.h @@ -38,14 +38,14 @@ typedef struct ipsec_cache_entry_s { uint32_t tun_src_ip; /**< Tunnel src IPv4 addr */ uint32_t tun_dst_ip; /**< Tunnel dst IPv4 addr */ struct { - enum odp_cipher_alg alg; /**< Cipher algorithm */ + odp_cipher_alg_t alg; /**< Cipher algorithm */ uint32_t spi; /**< Cipher SPI */ uint32_t block_len; /**< Cipher block length */ uint32_t iv_len; /**< Cipher IV length */ ipsec_key_t key; /**< Cipher key */ } esp; struct { - enum odp_auth_alg alg; /**< Auth algorithm */ + odp_auth_alg_t alg; /**< Auth algorithm */ uint32_t spi; /**< Auth SPI */ uint32_t icv_len; /**< Auth ICV length */ ipsec_key_t key; /**< Auth key */ diff --git a/example/ipsec/odp_ipsec_misc.h b/example/ipsec/odp_ipsec_misc.h index f6a12b5..85c5f6a 100644 --- a/example/ipsec/odp_ipsec_misc.h +++ b/example/ipsec/odp_ipsec_misc.h @@ -59,8 +59,8 @@ typedef struct { typedef struct { odp_bool_t cipher; union { - enum odp_cipher_alg cipher; - enum odp_auth_alg auth; + odp_cipher_alg_t cipher; + odp_auth_alg_t auth; } u; } ipsec_alg_t; diff --git a/include/odp/api/crypto.h b/include/odp/api/crypto.h index a9a2a1d..cc204a1 100644 --- a/include/odp/api/crypto.h +++ b/include/odp/api/crypto.h @@ -39,51 +39,46 @@ extern "C" { */ /** - * @enum odp_crypto_op_mode * Crypto API operation mode - * - * @enum odp_crypto_op_mode:ODP_CRYPTO_SYNC - * Synchronous, return results immediately - * - * @enum odp_crypto_op_mode:ODP_CRYPTO_ASYNC - * Aynchronous, return results via posted event */ +typedef enum { + /** Synchronous, return results immediately */ + ODP_CRYPTO_SYNC, + /** Aynchronous, return results via posted event */ + ODP_CRYPTO_ASYNC, +} odp_crypto_op_mode_t; /** - * @enum odp_crypto_op * Crypto API operation type - * - * @enum odp_crypto_op:ODP_CRYPTO_OP_ENCODE - * Encrypt and/or compute authentication ICV - * - * @enum odp_crypto_op:ODP_CRYPTO_OP_DECODE - * Decrypt and/or verify authentication ICV */ +typedef enum { + /** Encrypt and/or compute authentication ICV */ + ODP_CRYPTO_OP_ENCODE, + /** Decrypt and/or verify authentication ICV */ + ODP_CRYPTO_OP_DECODE, +} odp_crypto_op_t; /** - * @enum odp_cipher_alg * Crypto API cipher algorithm - * - * @enum odp_cipher_alg:ODP_CIPHER_ALG_NULL - * No cipher algorithm specified - * - * @enum odp_cipher_alg:ODP_CIPHER_ALG_DES - * DES - * - * @enum odp_cipher_alg:ODP_CIPHER_ALG_3DES_CBC - * Triple DES with cipher block chaining */ +typedef enum { + /** No cipher algorithm specified */ + ODP_CIPHER_ALG_NULL, + /** DES */ + ODP_CIPHER_ALG_DES, + /** Triple DES with cipher block chaining */ + ODP_CIPHER_ALG_3DES_CBC, +} odp_cipher_alg_t; /** - * @enum odp_auth_alg * Crypto API authentication algorithm - * - * @enum odp_auth_alg:ODP_AUTH_ALG_NULL - * No authentication algorithm specified - * - * @enum odp_auth_alg:ODP_AUTH_ALG_MD5_96 - * HMAC-MD5 with 96 bit key */ +typedef enum { + /** No authentication algorithm specified */ + ODP_AUTH_ALG_NULL, + /** HMAC-MD5 with 96 bit key */ + ODP_AUTH_ALG_MD5_96, +} odp_auth_alg_t; /** * Crypto API key structure @@ -115,13 +110,13 @@ typedef struct odp_crypto_data_range { * @todo Add "odp_session_proc_info_t" */ typedef struct odp_crypto_session_params { - enum odp_crypto_op op; /**< Encode versus decode */ + odp_crypto_op_t op; /**< Encode versus decode */ odp_bool_t auth_cipher_text; /**< Authenticate/cipher ordering */ - enum odp_crypto_op_mode pref_mode; /**< Preferred sync vs async */ - enum odp_cipher_alg cipher_alg; /**< Cipher algorithm */ + odp_crypto_op_mode_t pref_mode; /**< Preferred sync vs async */ + odp_cipher_alg_t cipher_alg; /**< Cipher algorithm */ odp_crypto_key_t cipher_key; /**< Cipher key */ odp_crypto_iv_t iv; /**< Cipher Initialization Vector (IV) */ - enum odp_auth_alg auth_alg; /**< Authentication algorithm */ + odp_auth_alg_t auth_alg; /**< Authentication algorithm */ odp_crypto_key_t auth_key; /**< Authentication key */ odp_queue_t compl_queue; /**< Async mode completion event queue */ odp_pool_t output_pool; /**< Output buffer pool */ @@ -190,62 +185,53 @@ typedef struct odp_crypto_op_params { */ /** - * @enum odp_crypto_ses_create_err * Crypto API session creation return code - * - * @enum odp_crypto_ses_create_err:ODP_CRYPTO_SES_CREATE_ERR_NONE - * Session created - * - * @enum odp_crypto_ses_create_err:ODP_CRYPTO_SES_CREATE_ERR_ENOMEM - * Creation failed, no resources - * - * @enum odp_crypto_ses_create_err:ODP_CRYPTO_SES_CREATE_ERR_INV_CIPHER - * Creation failed, bad cipher params - * - * @enum odp_crypto_ses_create_err:ODP_CRYPTO_SES_CREATE_ERR_INV_AUTH - * Creation failed, bad auth params */ +typedef enum { + /** Session created */ + ODP_CRYPTO_SES_CREATE_ERR_NONE, + /** Creation failed, no resources */ + ODP_CRYPTO_SES_CREATE_ERR_ENOMEM, + /** Creation failed, bad cipher params */ + ODP_CRYPTO_SES_CREATE_ERR_INV_CIPHER, + /** Creation failed, bad auth params */ + ODP_CRYPTO_SES_CREATE_ERR_INV_AUTH, +} odp_crypto_ses_create_err_t; /** - * @enum crypto_alg_err * Crypto API algorithm return code - * - * @enum crypto_alg_err:ODP_CRYPTO_ALG_ERR_NONE - * Algorithm successful - * - * @enum crypto_alg_err:ODP_CRYPTO_ALG_ERR_DATA_SIZE - * Invalid data block size - * - * @enum crypto_alg_err:ODP_CRYPTO_ALG_ERR_KEY_SIZE - * Key size invalid for algorithm - * - * @enum crypto_alg_err:ODP_CRYPTO_ALG_ERR_ICV_CHECK - * Computed ICV value mismatch - * - * @enum crypto_alg_err:ODP_CRYPTO_ALG_ERR_IV_INVALID - * IV value not specified */ +typedef enum { + /** Algorithm successful */ + ODP_CRYPTO_ALG_ERR_NONE, + /** Invalid data block size */ + ODP_CRYPTO_ALG_ERR_DATA_SIZE, + /** Key size invalid for algorithm */ + ODP_CRYPTO_ALG_ERR_KEY_SIZE, + /** Computed ICV value mismatch */ + ODP_CRYPTO_ALG_ERR_ICV_CHECK, + /** IV value not specified */ + ODP_CRYPTO_ALG_ERR_IV_INVALID, +} odp_crypto_alg_err_t; /** - * @enum crypto_hw_err * Crypto API hardware centric return code - * - * @enum crypto_hw_err:ODP_CRYPTO_HW_ERR_NONE - * Operation completed successfully - * - * @enum crypto_hw_err:ODP_CRYPTO_HW_ERR_DMA - * Error detected during DMA of data - * - * @enum crypto_hw_err:ODP_CRYPTO_HW_ERR_BP_DEPLETED - * Operation failed due to buffer pool depletion */ +typedef enum { + /** Operation completed successfully */ + ODP_CRYPTO_HW_ERR_NONE, + /** Error detected during DMA of data */ + ODP_CRYPTO_HW_ERR_DMA, + /** Operation failed due to buffer pool depletion */ + ODP_CRYPTO_HW_ERR_BP_DEPLETED, +} odp_crypto_hw_err_t; /** * Cryto API per packet operation completion status */ typedef struct odp_crypto_compl_status { - enum crypto_alg_err alg_err; /**< Algorithm specific return code */ - enum crypto_hw_err hw_err; /**< Hardware specific return code */ + odp_crypto_alg_err_t alg_err; /**< Algorithm specific return code */ + odp_crypto_hw_err_t hw_err; /**< Hardware specific return code */ } odp_crypto_compl_status_t; /** @@ -272,7 +258,7 @@ typedef struct odp_crypto_op_result { int odp_crypto_session_create(odp_crypto_session_params_t *params, odp_crypto_session_t *session, - enum odp_crypto_ses_create_err *status); + odp_crypto_ses_create_err_t *status); /** * Crypto session destroy diff --git a/platform/linux-generic/include/odp/plat/crypto_types.h b/platform/linux-generic/include/odp/plat/crypto_types.h index a91d88e..0cbbce8 100644 --- a/platform/linux-generic/include/odp/plat/crypto_types.h +++ b/platform/linux-generic/include/odp/plat/crypto_types.h @@ -27,48 +27,6 @@ extern "C" { typedef uint64_t odp_crypto_session_t; typedef ODP_HANDLE_T(odp_crypto_compl_t); -enum odp_crypto_op_mode { - ODP_CRYPTO_SYNC, - ODP_CRYPTO_ASYNC, -}; - -enum odp_crypto_op { - ODP_CRYPTO_OP_ENCODE, - ODP_CRYPTO_OP_DECODE, -}; - -enum odp_cipher_alg { - ODP_CIPHER_ALG_NULL, - ODP_CIPHER_ALG_DES, - ODP_CIPHER_ALG_3DES_CBC, -}; - -enum odp_auth_alg { - ODP_AUTH_ALG_NULL, - ODP_AUTH_ALG_MD5_96, -}; - -enum odp_crypto_ses_create_err { - ODP_CRYPTO_SES_CREATE_ERR_NONE, - ODP_CRYPTO_SES_CREATE_ERR_ENOMEM, - ODP_CRYPTO_SES_CREATE_ERR_INV_CIPHER, - ODP_CRYPTO_SES_CREATE_ERR_INV_AUTH, -}; - -enum crypto_alg_err { - ODP_CRYPTO_ALG_ERR_NONE, - ODP_CRYPTO_ALG_ERR_DATA_SIZE, - ODP_CRYPTO_ALG_ERR_KEY_SIZE, - ODP_CRYPTO_ALG_ERR_ICV_CHECK, - ODP_CRYPTO_ALG_ERR_IV_INVALID, -}; - -enum crypto_hw_err { - ODP_CRYPTO_HW_ERR_NONE, - ODP_CRYPTO_HW_ERR_DMA, - ODP_CRYPTO_HW_ERR_BP_DEPLETED, -}; - /** Get printable format of odp_crypto_session_t */ static inline uint64_t odp_crypto_session_to_u64(odp_crypto_session_t hdl) { diff --git a/platform/linux-generic/include/odp_crypto_internal.h b/platform/linux-generic/include/odp_crypto_internal.h index ebd6170..23fec04 100644 --- a/platform/linux-generic/include/odp_crypto_internal.h +++ b/platform/linux-generic/include/odp_crypto_internal.h @@ -22,20 +22,20 @@ typedef struct odp_crypto_generic_session odp_crypto_generic_session_t; * Algorithm handler function prototype */ typedef -enum crypto_alg_err (*crypto_func_t)(odp_crypto_op_params_t *params, - odp_crypto_generic_session_t *session); +odp_crypto_alg_err_t (*crypto_func_t)(odp_crypto_op_params_t *params, + odp_crypto_generic_session_t *session); /** * Per crypto session data structure */ struct odp_crypto_generic_session { struct odp_crypto_generic_session *next; - enum odp_crypto_op op; + odp_crypto_op_t op; odp_bool_t do_cipher_first; odp_queue_t compl_queue; odp_pool_t output_pool; struct { - enum odp_cipher_alg alg; + odp_cipher_alg_t alg; struct { uint8_t *data; size_t len; @@ -50,7 +50,7 @@ struct odp_crypto_generic_session { crypto_func_t func; } cipher; struct { - enum odp_auth_alg alg; + odp_auth_alg_t alg; union { struct { uint8_t key[16]; @@ -73,7 +73,7 @@ typedef struct odp_crypto_generic_op_result { * Per session creation operation result */ typedef struct odp_crypto_generic_session_result { - enum odp_crypto_ses_create_err rc; + odp_crypto_ses_create_err_t rc; odp_crypto_session_t session; } odp_crypto_generic_session_result_t; diff --git a/platform/linux-generic/odp_crypto.c b/platform/linux-generic/odp_crypto.c index d49e256..e3bc557 100644 --- a/platform/linux-generic/odp_crypto.c +++ b/platform/linux-generic/odp_crypto.c @@ -66,17 +66,16 @@ void free_session(odp_crypto_generic_session_t *session) odp_spinlock_unlock(&global->lock); } -static -enum crypto_alg_err null_crypto_routine( - odp_crypto_op_params_t *params ODP_UNUSED, - odp_crypto_generic_session_t *session ODP_UNUSED) +static odp_crypto_alg_err_t +null_crypto_routine(odp_crypto_op_params_t *params ODP_UNUSED, + odp_crypto_generic_session_t *session ODP_UNUSED) { return ODP_CRYPTO_ALG_ERR_NONE; } static -enum crypto_alg_err md5_gen(odp_crypto_op_params_t *params, - odp_crypto_generic_session_t *session) +odp_crypto_alg_err_t md5_gen(odp_crypto_op_params_t *params, + odp_crypto_generic_session_t *session) { uint8_t *data = odp_packet_data(params->out_pkt); uint8_t *icv = data; @@ -103,8 +102,8 @@ enum crypto_alg_err md5_gen(odp_crypto_op_params_t *params, } static -enum crypto_alg_err md5_check(odp_crypto_op_params_t *params, - odp_crypto_generic_session_t *session) +odp_crypto_alg_err_t md5_check(odp_crypto_op_params_t *params, + odp_crypto_generic_session_t *session) { uint8_t *data = odp_packet_data(params->out_pkt); uint8_t *icv = data; @@ -141,8 +140,8 @@ enum crypto_alg_err md5_check(odp_crypto_op_params_t *params, } static -enum crypto_alg_err des_encrypt(odp_crypto_op_params_t *params, - odp_crypto_generic_session_t *session) +odp_crypto_alg_err_t des_encrypt(odp_crypto_op_params_t *params, + odp_crypto_generic_session_t *session) { uint8_t *data = odp_packet_data(params->out_pkt); uint32_t len = params->cipher_range.length; @@ -179,8 +178,8 @@ enum crypto_alg_err des_encrypt(odp_crypto_op_params_t *params, } static -enum crypto_alg_err des_decrypt(odp_crypto_op_params_t *params, - odp_crypto_generic_session_t *session) +odp_crypto_alg_err_t des_decrypt(odp_crypto_op_params_t *params, + odp_crypto_generic_session_t *session) { uint8_t *data = odp_packet_data(params->out_pkt); uint32_t len = params->cipher_range.length; @@ -265,7 +264,7 @@ int process_md5_params(odp_crypto_generic_session_t *session, int odp_crypto_session_create(odp_crypto_session_params_t *params, odp_crypto_session_t *session_out, - enum odp_crypto_ses_create_err *status) + odp_crypto_ses_create_err_t *status) { int rc; odp_crypto_generic_session_t *session; @@ -354,8 +353,8 @@ odp_crypto_operation(odp_crypto_op_params_t *params, odp_bool_t *posted, odp_crypto_op_result_t *result) { - enum crypto_alg_err rc_cipher = ODP_CRYPTO_ALG_ERR_NONE; - enum crypto_alg_err rc_auth = ODP_CRYPTO_ALG_ERR_NONE; + odp_crypto_alg_err_t rc_cipher = ODP_CRYPTO_ALG_ERR_NONE; + odp_crypto_alg_err_t rc_auth = ODP_CRYPTO_ALG_ERR_NONE; odp_crypto_generic_session_t *session; odp_crypto_op_result_t local_result; diff --git a/test/validation/crypto/odp_crypto_test_inp.c b/test/validation/crypto/odp_crypto_test_inp.c index 69325a4..05b6885 100644 --- a/test/validation/crypto/odp_crypto_test_inp.c +++ b/test/validation/crypto/odp_crypto_test_inp.c @@ -12,7 +12,7 @@ #include "crypto.h" struct suite_context_s { - enum odp_crypto_op_mode pref_mode; + odp_crypto_op_mode_t pref_mode; odp_pool_t pool; odp_queue_t queue; }; @@ -28,12 +28,12 @@ static struct suite_context_s suite_context; * Completion event can be a separate buffer or the input packet * buffer can be used. * */ -static void alg_test(enum odp_crypto_op op, - enum odp_cipher_alg cipher_alg, +static void alg_test(odp_crypto_op_t op, + odp_cipher_alg_t cipher_alg, odp_crypto_iv_t ses_iv, uint8_t *op_iv_ptr, odp_crypto_key_t cipher_key, - enum odp_auth_alg auth_alg, + odp_auth_alg_t auth_alg, odp_crypto_key_t auth_key, uint8_t *input_vec, unsigned int input_vec_len, @@ -42,7 +42,7 @@ static void alg_test(enum odp_crypto_op op, { odp_crypto_session_t session; int rc; - enum odp_crypto_ses_create_err status; + odp_crypto_ses_create_err_t status; odp_bool_t posted; odp_event_t event; odp_crypto_compl_t compl_event; -- 2.6.2.406.gaaaec35 _______________________________________________ lng-odp mailing list lng-odp@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lng-odp