diff options
author | Ricardo Salveti <ricardo.salveti@linaro.org> | 2016-07-18 15:30:06 -0300 |
---|---|---|
committer | Ricardo Salveti <ricardo.salveti@linaro.org> | 2016-07-18 15:30:30 -0300 |
commit | a41e6ff15809d40e0f9bbc9576bf8f7f80fbec1d (patch) | |
tree | c9e6fc399c2738e84ed2585e6e51e90f9608ca12 /drivers/crypto | |
parent | 8b25d1ad5d2264bdfc2818c7bda74ee2697df6db (diff) |
Imported Upstream version 16.07-rc2
Change-Id: Ie9e8ec528a2a0dace085c5e44aa7fa3b489d4ba0
Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
Diffstat (limited to 'drivers/crypto')
-rw-r--r-- | drivers/crypto/aesni_gcm/aesni_gcm_pmd.c | 9 | ||||
-rw-r--r-- | drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h | 6 | ||||
-rw-r--r-- | drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 9 | ||||
-rw-r--r-- | drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h | 2 | ||||
-rw-r--r-- | drivers/crypto/kasumi/rte_kasumi_pmd.c | 18 | ||||
-rw-r--r-- | drivers/crypto/kasumi/rte_kasumi_pmd_ops.c | 4 | ||||
-rw-r--r-- | drivers/crypto/kasumi/rte_kasumi_pmd_private.h | 6 | ||||
-rw-r--r-- | drivers/crypto/null/null_crypto_pmd.c | 9 | ||||
-rw-r--r-- | drivers/crypto/null/null_crypto_pmd_private.h | 6 | ||||
-rw-r--r-- | drivers/crypto/qat/qat_adf/qat_algs.h | 3 | ||||
-rw-r--r-- | drivers/crypto/qat/qat_adf/qat_algs_build_desc.c | 10 | ||||
-rw-r--r-- | drivers/crypto/qat/qat_crypto.c | 6 | ||||
-rw-r--r-- | drivers/crypto/qat/rte_qat_cryptodev.c | 5 | ||||
-rw-r--r-- | drivers/crypto/snow3g/rte_snow3g_pmd.c | 9 | ||||
-rw-r--r-- | drivers/crypto/snow3g/rte_snow3g_pmd_private.h | 6 |
15 files changed, 69 insertions, 39 deletions
diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c index 2987ef6b..dc0b0337 100644 --- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c +++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c @@ -57,7 +57,7 @@ create_unique_device_name(char *name, size_t size) if (name == NULL) return -EINVAL; - ret = snprintf(name, size, "%s_%u", CRYPTODEV_NAME_AESNI_GCM_PMD, + ret = snprintf(name, size, "%s_%u", RTE_STR(CRYPTODEV_NAME_AESNI_GCM_PMD), unique_name_id++); if (ret < 0) return ret; @@ -515,10 +515,13 @@ aesni_gcm_uninit(const char *name) } static struct rte_driver aesni_gcm_pmd_drv = { - .name = CRYPTODEV_NAME_AESNI_GCM_PMD, .type = PMD_VDEV, .init = aesni_gcm_init, .uninit = aesni_gcm_uninit }; -PMD_REGISTER_DRIVER(aesni_gcm_pmd_drv); +PMD_REGISTER_DRIVER(aesni_gcm_pmd_drv, CRYPTODEV_NAME_AESNI_GCM_PMD); +DRIVER_REGISTER_PARAM_STRING(CRYPTODEV_NAME_AESNI_GCM_PMD, + "max_nb_queue_pairs=<int> " + "max_nb_sessions=<int> " + "socket_id=<int>"); diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h index a42f9414..9878d6e4 100644 --- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h +++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h @@ -37,18 +37,18 @@ #define GCM_LOG_ERR(fmt, args...) \ RTE_LOG(ERR, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ - CRYPTODEV_NAME_AESNI_GCM_PMD, \ + RTE_STR(CRYPTODEV_NAME_AESNI_GCM_PMD), \ __func__, __LINE__, ## args) #ifdef RTE_LIBRTE_AESNI_MB_DEBUG #define GCM_LOG_INFO(fmt, args...) \ RTE_LOG(INFO, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ - CRYPTODEV_NAME_AESNI_GCM_PMD, \ + RTE_STR(CRYPTODEV_NAME_AESNI_GCM_PMD), \ __func__, __LINE__, ## args) #define GCM_LOG_DBG(fmt, args...) \ RTE_LOG(DEBUG, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ - CRYPTODEV_NAME_AESNI_GCM_PMD, \ + RTE_STR(CRYPTODEV_NAME_AESNI_GCM_PMD), \ __func__, __LINE__, ## args) #else #define GCM_LOG_INFO(fmt, args...) diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c index 6554fc4e..b2d0c8ca 100644 --- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c +++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c @@ -54,7 +54,7 @@ create_unique_device_name(char *name, size_t size) if (name == NULL) return -EINVAL; - ret = snprintf(name, size, "%s_%u", CRYPTODEV_NAME_AESNI_MB_PMD, + ret = snprintf(name, size, "%s_%u", RTE_STR(CRYPTODEV_NAME_AESNI_MB_PMD), unique_name_id++); if (ret < 0) return ret; @@ -715,10 +715,13 @@ cryptodev_aesni_mb_uninit(const char *name) } static struct rte_driver cryptodev_aesni_mb_pmd_drv = { - .name = CRYPTODEV_NAME_AESNI_MB_PMD, .type = PMD_VDEV, .init = cryptodev_aesni_mb_init, .uninit = cryptodev_aesni_mb_uninit }; -PMD_REGISTER_DRIVER(cryptodev_aesni_mb_pmd_drv); +PMD_REGISTER_DRIVER(cryptodev_aesni_mb_pmd_drv, CRYPTODEV_NAME_AESNI_MB_PMD); +DRIVER_REGISTER_PARAM_STRING(CRYPTODEV_NAME_AESNI_MB_PMD, + "max_nb_queue_pairs=<int> " + "max_nb_sessions=<int> " + "socket_id=<int>"); diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h index 949d9a60..17f367f4 100644 --- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h +++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h @@ -37,7 +37,7 @@ #define MB_LOG_ERR(fmt, args...) \ RTE_LOG(ERR, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ - CRYPTODEV_NAME_AESNI_MB_PMD, \ + RTE_STR(CRYPTODEV_NAME_AESNI_MB_PMD), \ __func__, __LINE__, ## args) #ifdef RTE_LIBRTE_AESNI_MB_DEBUG diff --git a/drivers/crypto/kasumi/rte_kasumi_pmd.c b/drivers/crypto/kasumi/rte_kasumi_pmd.c index 5f8c7a2e..4e217434 100644 --- a/drivers/crypto/kasumi/rte_kasumi_pmd.c +++ b/drivers/crypto/kasumi/rte_kasumi_pmd.c @@ -61,7 +61,7 @@ create_unique_device_name(char *name, size_t size) if (name == NULL) return -EINVAL; - ret = snprintf(name, size, "%s_%u", CRYPTODEV_NAME_KASUMI_PMD, + ret = snprintf(name, size, "%s_%u", RTE_STR(CRYPTODEV_NAME_KASUMI_PMD), unique_name_id++); if (ret < 0) return ret; @@ -243,9 +243,12 @@ process_kasumi_cipher_op_bit(struct rte_crypto_op *op, offset_in_bits = op->sym->cipher.data.offset; src = rte_pktmbuf_mtod(op->sym->m_src, uint8_t *); - dst = op->sym->m_dst ? - rte_pktmbuf_mtod(op->sym->m_dst, uint8_t *) : - rte_pktmbuf_mtod(op->sym->m_src, uint8_t *); + if (op->sym->m_dst == NULL) { + op->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS; + KASUMI_LOG_ERR("bit-level in-place not supported\n"); + return 0; + } + dst = rte_pktmbuf_mtod(op->sym->m_dst, uint8_t *); IV = *((uint64_t *)(op->sym->cipher.iv.data)); length_in_bits = op->sym->cipher.data.length; @@ -648,10 +651,13 @@ cryptodev_kasumi_uninit(const char *name) } static struct rte_driver cryptodev_kasumi_pmd_drv = { - .name = CRYPTODEV_NAME_KASUMI_PMD, .type = PMD_VDEV, .init = cryptodev_kasumi_init, .uninit = cryptodev_kasumi_uninit }; -PMD_REGISTER_DRIVER(cryptodev_kasumi_pmd_drv); +PMD_REGISTER_DRIVER(cryptodev_kasumi_pmd_drv, CRYPTODEV_NAME_KASUMI_PMD); +DRIVER_REGISTER_PARAM_STRING(CRYPTODEV_NAME_KASUMI_PMD, + "max_nb_queue_pairs=<int> " + "max_nb_sessions=<int> " + "socket_id=<int>"); diff --git a/drivers/crypto/kasumi/rte_kasumi_pmd_ops.c b/drivers/crypto/kasumi/rte_kasumi_pmd_ops.c index da5854eb..b9285a43 100644 --- a/drivers/crypto/kasumi/rte_kasumi_pmd_ops.c +++ b/drivers/crypto/kasumi/rte_kasumi_pmd_ops.c @@ -57,8 +57,8 @@ static const struct rte_cryptodev_capabilities kasumi_pmd_capabilities[] = { .increment = 0 }, .aad_size = { - .min = 9, - .max = 9, + .min = 8, + .max = 8, .increment = 0 } }, } diff --git a/drivers/crypto/kasumi/rte_kasumi_pmd_private.h b/drivers/crypto/kasumi/rte_kasumi_pmd_private.h index 04e1c437..fb586caa 100644 --- a/drivers/crypto/kasumi/rte_kasumi_pmd_private.h +++ b/drivers/crypto/kasumi/rte_kasumi_pmd_private.h @@ -37,18 +37,18 @@ #define KASUMI_LOG_ERR(fmt, args...) \ RTE_LOG(ERR, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ - CRYPTODEV_NAME_KASUMI_PMD, \ + RTE_STR(CRYPTODEV_NAME_KASUMI_PMD), \ __func__, __LINE__, ## args) #ifdef RTE_LIBRTE_KASUMI_DEBUG #define KASUMI_LOG_INFO(fmt, args...) \ RTE_LOG(INFO, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ - CRYPTODEV_NAME_KASUMI_PMD, \ + RTE_STR(CRYPTODEV_NAME_KASUMI_PMD), \ __func__, __LINE__, ## args) #define KASUMI_LOG_DBG(fmt, args...) \ RTE_LOG(DEBUG, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ - CRYPTODEV_NAME_KASUMI_PMD, \ + RTE_STR(CRYPTODEV_NAME_KASUMI_PMD), \ __func__, __LINE__, ## args) #else #define KASUMI_LOG_INFO(fmt, args...) diff --git a/drivers/crypto/null/null_crypto_pmd.c b/drivers/crypto/null/null_crypto_pmd.c index bdaf13ca..909b04f9 100644 --- a/drivers/crypto/null/null_crypto_pmd.c +++ b/drivers/crypto/null/null_crypto_pmd.c @@ -51,7 +51,7 @@ create_unique_device_name(char *name, size_t size) if (name == NULL) return -EINVAL; - ret = snprintf(name, size, "%s_%u", CRYPTODEV_NAME_NULL_PMD, + ret = snprintf(name, size, "%s_%u", RTE_STR(CRYPTODEV_NAME_NULL_PMD), unique_name_id++); if (ret < 0) return ret; @@ -269,10 +269,13 @@ cryptodev_null_uninit(const char *name) } static struct rte_driver cryptodev_null_pmd_drv = { - .name = CRYPTODEV_NAME_NULL_PMD, .type = PMD_VDEV, .init = cryptodev_null_init, .uninit = cryptodev_null_uninit }; -PMD_REGISTER_DRIVER(cryptodev_null_pmd_drv); +PMD_REGISTER_DRIVER(cryptodev_null_pmd_drv, CRYPTODEV_NAME_NULL_PMD); +DRIVER_REGISTER_PARAM_STRING(CRYPTODEV_NAME_NULL_PMD, + "max_nb_queue_pairs=<int> " + "max_nb_sessions=<int> " + "socket_id=<int>"); diff --git a/drivers/crypto/null/null_crypto_pmd_private.h b/drivers/crypto/null/null_crypto_pmd_private.h index 2a4c739c..acebc973 100644 --- a/drivers/crypto/null/null_crypto_pmd_private.h +++ b/drivers/crypto/null/null_crypto_pmd_private.h @@ -37,18 +37,18 @@ #define NULL_CRYPTO_LOG_ERR(fmt, args...) \ RTE_LOG(ERR, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ - CRYPTODEV_NAME_NULL_PMD, \ + RTE_STR(CRYPTODEV_NAME_NULL_PMD), \ __func__, __LINE__, ## args) #ifdef RTE_LIBRTE_NULL_CRYPTO_DEBUG #define NULL_CRYPTO_LOG_INFO(fmt, args...) \ RTE_LOG(INFO, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ - CRYPTODEV_NAME_NULL_PMD, \ + RTE_STR(CRYPTODEV_NAME_NULL_PMD), \ __func__, __LINE__, ## args) #define NULL_CRYPTO_LOG_DBG(fmt, args...) \ RTE_LOG(DEBUG, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ - CRYPTODEV_NAME_NULL_PMD, \ + RTE_STR(CRYPTODEV_NAME_NULL_PMD), \ __func__, __LINE__, ## args) #else #define NULL_CRYPTO_LOG_INFO(fmt, args...) diff --git a/drivers/crypto/qat/qat_adf/qat_algs.h b/drivers/crypto/qat/qat_adf/qat_algs.h index b47dbc23..243c1b40 100644 --- a/drivers/crypto/qat/qat_adf/qat_algs.h +++ b/drivers/crypto/qat/qat_adf/qat_algs.h @@ -112,7 +112,8 @@ int qat_alg_aead_session_create_content_desc_auth(struct qat_session *cdesc, uint8_t *authkey, uint32_t authkeylen, uint32_t add_auth_data_length, - uint32_t digestsize); + uint32_t digestsize, + unsigned int operation); void qat_alg_init_common_hdr(struct icp_qat_fw_comn_req_hdr *header); diff --git a/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c b/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c index aa108d47..185bb334 100644 --- a/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c +++ b/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c @@ -51,6 +51,7 @@ #include <rte_byteorder.h> #include <rte_log.h> #include <rte_malloc.h> +#include <rte_crypto_sym.h> #include "../qat_logs.h" #include "qat_algs.h" @@ -502,7 +503,8 @@ int qat_alg_aead_session_create_content_desc_auth(struct qat_session *cdesc, uint8_t *authkey, uint32_t authkeylen, uint32_t add_auth_data_length, - uint32_t digestsize) + uint32_t digestsize, + unsigned int operation) { struct icp_qat_hw_cipher_algo_blk *cipher; struct icp_qat_hw_auth_algo_blk *hash; @@ -654,6 +656,12 @@ int qat_alg_aead_session_create_content_desc_auth(struct qat_session *cdesc, ICP_QAT_FW_LA_CMP_AUTH_SET(header->serv_specif_flags, ICP_QAT_FW_LA_NO_CMP_AUTH_RES); } + if (operation == RTE_CRYPTO_AUTH_OP_VERIFY) { + ICP_QAT_FW_LA_RET_AUTH_SET(header->serv_specif_flags, + ICP_QAT_FW_LA_NO_RET_AUTH_RES); + ICP_QAT_FW_LA_CMP_AUTH_SET(header->serv_specif_flags, + ICP_QAT_FW_LA_CMP_AUTH_RES); + } /* Cipher CD config setup */ cipher_cd_ctrl->cipher_state_sz = ICP_QAT_HW_AES_BLK_SZ >> 3; diff --git a/drivers/crypto/qat/qat_crypto.c b/drivers/crypto/qat/qat_crypto.c index 940b2b63..d51ca968 100644 --- a/drivers/crypto/qat/qat_crypto.c +++ b/drivers/crypto/qat/qat_crypto.c @@ -560,14 +560,16 @@ qat_crypto_sym_configure_session_auth(struct rte_cryptodev *dev, cipher_xform->key.data, cipher_xform->key.length, auth_xform->add_auth_data_length, - auth_xform->digest_length)) + auth_xform->digest_length, + auth_xform->op)) goto error_out; } else { if (qat_alg_aead_session_create_content_desc_auth(session, auth_xform->key.data, auth_xform->key.length, auth_xform->add_auth_data_length, - auth_xform->digest_length)) + auth_xform->digest_length, + auth_xform->op)) goto error_out; } return session; diff --git a/drivers/crypto/qat/rte_qat_cryptodev.c b/drivers/crypto/qat/rte_qat_cryptodev.c index f46ec857..82ab047f 100644 --- a/drivers/crypto/qat/rte_qat_cryptodev.c +++ b/drivers/crypto/qat/rte_qat_cryptodev.c @@ -114,7 +114,6 @@ crypto_qat_dev_init(__attribute__((unused)) struct rte_cryptodev_driver *crypto_ static struct rte_cryptodev_driver rte_qat_pmd = { { - .name = "rte_qat_pmd", .id_table = pci_id_qat_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING, }, @@ -134,4 +133,6 @@ static struct rte_driver pmd_qat_drv = { .init = rte_qat_pmd_init, }; -PMD_REGISTER_DRIVER(pmd_qat_drv); +PMD_REGISTER_DRIVER(pmd_qat_drv, CRYPTODEV_NAME_QAT_SYM_PMD); +DRIVER_REGISTER_PCI_TABLE(CRYPTODEV_NAME_QAT_SYM_PMD, pci_id_qat_map); + diff --git a/drivers/crypto/snow3g/rte_snow3g_pmd.c b/drivers/crypto/snow3g/rte_snow3g_pmd.c index dc8de6bd..87cd070a 100644 --- a/drivers/crypto/snow3g/rte_snow3g_pmd.c +++ b/drivers/crypto/snow3g/rte_snow3g_pmd.c @@ -60,7 +60,7 @@ create_unique_device_name(char *name, size_t size) if (name == NULL) return -EINVAL; - ret = snprintf(name, size, "%s_%u", CRYPTODEV_NAME_SNOW3G_PMD, + ret = snprintf(name, size, "%s_%u", RTE_STR(CRYPTODEV_NAME_SNOW3G_PMD), unique_name_id++); if (ret < 0) return ret; @@ -639,10 +639,13 @@ cryptodev_snow3g_uninit(const char *name) } static struct rte_driver cryptodev_snow3g_pmd_drv = { - .name = CRYPTODEV_NAME_SNOW3G_PMD, .type = PMD_VDEV, .init = cryptodev_snow3g_init, .uninit = cryptodev_snow3g_uninit }; -PMD_REGISTER_DRIVER(cryptodev_snow3g_pmd_drv); +PMD_REGISTER_DRIVER(cryptodev_snow3g_pmd_drv, CRYPTODEV_NAME_SNOW3G_PMD); +DRIVER_REGISTER_PARAM_STRING(CRYPTODEV_NAME_SNOW3G_PMD, + "max_nb_queue_pairs=<int> " + "max_nb_sessions=<int> " + "socket_id=<int>"); diff --git a/drivers/crypto/snow3g/rte_snow3g_pmd_private.h b/drivers/crypto/snow3g/rte_snow3g_pmd_private.h index b383cbcb..03973b97 100644 --- a/drivers/crypto/snow3g/rte_snow3g_pmd_private.h +++ b/drivers/crypto/snow3g/rte_snow3g_pmd_private.h @@ -37,18 +37,18 @@ #define SNOW3G_LOG_ERR(fmt, args...) \ RTE_LOG(ERR, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ - CRYPTODEV_NAME_SNOW3G_PMD, \ + RTE_STR(CRYPTODEV_NAME_SNOW3G_PMD), \ __func__, __LINE__, ## args) #ifdef RTE_LIBRTE_SNOW3G_DEBUG #define SNOW3G_LOG_INFO(fmt, args...) \ RTE_LOG(INFO, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ - CRYPTODEV_NAME_SNOW3G_PMD, \ + RTE_STR(CRYPTODEV_NAME_SNOW3G_PMD), \ __func__, __LINE__, ## args) #define SNOW3G_LOG_DBG(fmt, args...) \ RTE_LOG(DEBUG, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ - CRYPTODEV_NAME_SNOW3G_PMD, \ + RTE_STR(CRYPTODEV_NAME_SNOW3G_PMD), \ __func__, __LINE__, ## args) #else #define SNOW3G_LOG_INFO(fmt, args...) |