crypto/aesni_mb: add dynamic logging
authorNaga Suresh Somarowthu <naga.sureshx.somarowthu@intel.com>
Fri, 29 Jun 2018 09:55:08 +0000 (10:55 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Tue, 10 Jul 2018 22:57:51 +0000 (00:57 +0200)
Registered new dynamic logtype for driver and
replaced MB_LOG_ERR and CDEV_LOG_ERR
with the new AESNI_MB_LOG macro, which uses the new logtype.

Signed-off-by: Naga Suresh Somarowthu <naga.sureshx.somarowthu@intel.com>
Reviewed-by: Reshma Pattan <reshma.pattan@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
config/common_base
drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h

index 070c793..5ee13e8 100644 (file)
@@ -506,7 +506,6 @@ CONFIG_RTE_VIRTIO_CRYPTO_PMD_MAX_NB_SESSIONS=1024
 # Compile PMD for AESNI backed device
 #
 CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
-CONFIG_RTE_LIBRTE_PMD_AESNI_MB_DEBUG=n
 
 #
 # Compile PMD for Software backed device
index bb35c66..9ae2b54 100644 (file)
@@ -108,7 +108,7 @@ aesni_mb_set_session_auth_parameters(const struct aesni_mb_op_fns *mb_ops,
        }
 
        if (xform->type != RTE_CRYPTO_SYM_XFORM_AUTH) {
-               MB_LOG_ERR("Crypto xform struct not of type auth");
+               AESNI_MB_LOG(ERR, "Crypto xform struct not of type auth");
                return -1;
        }
 
@@ -161,7 +161,7 @@ aesni_mb_set_session_auth_parameters(const struct aesni_mb_op_fns *mb_ops,
                hash_oneblock_fn = mb_ops->aux.one_block.sha512;
                break;
        default:
-               MB_LOG_ERR("Unsupported authentication algorithm selection");
+               AESNI_MB_LOG(ERR, "Unsupported authentication algorithm selection");
                return -ENOTSUP;
        }
 
@@ -190,7 +190,7 @@ aesni_mb_set_session_cipher_parameters(const struct aesni_mb_op_fns *mb_ops,
        }
 
        if (xform->type != RTE_CRYPTO_SYM_XFORM_CIPHER) {
-               MB_LOG_ERR("Crypto xform struct not of type cipher");
+               AESNI_MB_LOG(ERR, "Crypto xform struct not of type cipher");
                return -EINVAL;
        }
 
@@ -203,7 +203,7 @@ aesni_mb_set_session_cipher_parameters(const struct aesni_mb_op_fns *mb_ops,
                sess->cipher.direction = DECRYPT;
                break;
        default:
-               MB_LOG_ERR("Invalid cipher operation parameter");
+               AESNI_MB_LOG(ERR, "Invalid cipher operation parameter");
                return -EINVAL;
        }
 
@@ -228,7 +228,7 @@ aesni_mb_set_session_cipher_parameters(const struct aesni_mb_op_fns *mb_ops,
                sess->cipher.mode = DOCSIS_DES;
                break;
        default:
-               MB_LOG_ERR("Unsupported cipher mode parameter");
+               AESNI_MB_LOG(ERR, "Unsupported cipher mode parameter");
                return -ENOTSUP;
        }
 
@@ -252,7 +252,7 @@ aesni_mb_set_session_cipher_parameters(const struct aesni_mb_op_fns *mb_ops,
                        aes_keyexp_fn = mb_ops->aux.keyexp.aes256;
                        break;
                default:
-                       MB_LOG_ERR("Invalid cipher key length");
+                       AESNI_MB_LOG(ERR, "Invalid cipher key length");
                        return -EINVAL;
                }
 
@@ -263,7 +263,7 @@ aesni_mb_set_session_cipher_parameters(const struct aesni_mb_op_fns *mb_ops,
 
        } else {
                if (xform->cipher.key.length != 8) {
-                       MB_LOG_ERR("Invalid cipher key length");
+                       AESNI_MB_LOG(ERR, "Invalid cipher key length");
                        return -EINVAL;
                }
                sess->cipher.key_length_in_bytes = 8;
@@ -294,7 +294,7 @@ aesni_mb_set_session_aead_parameters(const struct aesni_mb_op_fns *mb_ops,
                sess->auth.operation = RTE_CRYPTO_AUTH_OP_VERIFY;
                break;
        default:
-               MB_LOG_ERR("Invalid aead operation parameter");
+               AESNI_MB_LOG(ERR, "Invalid aead operation parameter");
                return -EINVAL;
        }
 
@@ -304,7 +304,7 @@ aesni_mb_set_session_aead_parameters(const struct aesni_mb_op_fns *mb_ops,
                sess->auth.algo = AES_CCM;
                break;
        default:
-               MB_LOG_ERR("Unsupported aead mode parameter");
+               AESNI_MB_LOG(ERR, "Unsupported aead mode parameter");
                return -ENOTSUP;
        }
 
@@ -320,7 +320,7 @@ aesni_mb_set_session_aead_parameters(const struct aesni_mb_op_fns *mb_ops,
                aes_keyexp_fn = mb_ops->aux.keyexp.aes128;
                break;
        default:
-               MB_LOG_ERR("Invalid cipher key length");
+               AESNI_MB_LOG(ERR, "Invalid cipher key length");
                return -EINVAL;
        }
 
@@ -391,7 +391,7 @@ aesni_mb_set_session_parameters(const struct aesni_mb_op_fns *mb_ops,
                break;
        case AESNI_MB_OP_NOT_SUPPORTED:
        default:
-               MB_LOG_ERR("Unsupported operation chain order parameter");
+               AESNI_MB_LOG(ERR, "Unsupported operation chain order parameter");
                return -ENOTSUP;
        }
 
@@ -400,14 +400,14 @@ aesni_mb_set_session_parameters(const struct aesni_mb_op_fns *mb_ops,
 
        ret = aesni_mb_set_session_auth_parameters(mb_ops, sess, auth_xform);
        if (ret != 0) {
-               MB_LOG_ERR("Invalid/unsupported authentication parameters");
+               AESNI_MB_LOG(ERR, "Invalid/unsupported authentication parameters");
                return ret;
        }
 
        ret = aesni_mb_set_session_cipher_parameters(mb_ops, sess,
                        cipher_xform);
        if (ret != 0) {
-               MB_LOG_ERR("Invalid/unsupported cipher parameters");
+               AESNI_MB_LOG(ERR, "Invalid/unsupported cipher parameters");
                return ret;
        }
 
@@ -415,7 +415,7 @@ aesni_mb_set_session_parameters(const struct aesni_mb_op_fns *mb_ops,
                ret = aesni_mb_set_session_aead_parameters(mb_ops, sess,
                                aead_xform);
                if (ret != 0) {
-                       MB_LOG_ERR("Invalid/unsupported aead parameters");
+                       AESNI_MB_LOG(ERR, "Invalid/unsupported aead parameters");
                        return ret;
                }
        }
@@ -555,7 +555,7 @@ set_mb_job_params(JOB_AES_HMAC *job, struct aesni_mb_qp *qp,
                char *odata = rte_pktmbuf_append(m_dst,
                                rte_pktmbuf_data_len(op->sym->m_src));
                if (odata == NULL) {
-                       MB_LOG_ERR("failed to allocate space in destination "
+                       AESNI_MB_LOG(ERR, "failed to allocate space in destination "
                                        "mbuf for source data");
                        op->status = RTE_CRYPTO_OP_STATUS_ERROR;
                        return -1;
@@ -832,13 +832,13 @@ cryptodev_aesni_mb_create(const char *name,
 
        /* Check CPU for support for AES instruction set */
        if (!rte_cpu_get_flag_enabled(RTE_CPUFLAG_AES)) {
-               MB_LOG_ERR("AES instructions not supported by CPU");
+               AESNI_MB_LOG(ERR, "AES instructions not supported by CPU");
                return -EFAULT;
        }
 
        dev = rte_cryptodev_pmd_create(name, &vdev->device, init_params);
        if (dev == NULL) {
-               MB_LOG_ERR("failed to create cryptodev vdev");
+               AESNI_MB_LOG(ERR, "failed to create cryptodev vdev");
                return -ENODEV;
        }
 
@@ -911,7 +911,7 @@ cryptodev_aesni_mb_probe(struct rte_vdev_device *vdev)
 
        retval = rte_cryptodev_pmd_parse_input_args(&init_params, args);
        if (retval) {
-               MB_LOG_ERR("Failed to parse initialisation arguments[%s]\n",
+               AESNI_MB_LOG(ERR, "Failed to parse initialisation arguments[%s]",
                                args);
                return -EINVAL;
        }
@@ -952,3 +952,10 @@ RTE_PMD_REGISTER_PARAM_STRING(CRYPTODEV_NAME_AESNI_MB_PMD,
 RTE_PMD_REGISTER_CRYPTO_DRIVER(aesni_mb_crypto_drv,
                cryptodev_aesni_mb_pmd_drv.driver,
                cryptodev_driver_id);
+
+RTE_INIT(aesni_mb_init_log);
+static void
+aesni_mb_init_log(void)
+{
+       aesni_mb_logtype_driver = rte_log_register("pmd.crypto.aesni_mb");
+}
index 0153052..6a96d50 100644 (file)
@@ -441,12 +441,12 @@ aesni_mb_pmd_qp_create_processed_ops_ring(struct aesni_mb_qp *qp,
        r = rte_ring_lookup(ring_name);
        if (r) {
                if (rte_ring_get_size(r) >= ring_size) {
-                       MB_LOG_INFO("Reusing existing ring %s for processed ops",
+                       AESNI_MB_LOG(INFO, "Reusing existing ring %s for processed ops",
                        ring_name);
                        return r;
                }
 
-               MB_LOG_ERR("Unable to reuse existing ring %s for processed ops",
+               AESNI_MB_LOG(ERR, "Unable to reuse existing ring %s for processed ops",
                        ring_name);
                return NULL;
        }
@@ -550,20 +550,20 @@ aesni_mb_pmd_session_configure(struct rte_cryptodev *dev,
        int ret;
 
        if (unlikely(sess == NULL)) {
-               MB_LOG_ERR("invalid session struct");
+               AESNI_MB_LOG(ERR, "invalid session struct");
                return -EINVAL;
        }
 
        if (rte_mempool_get(mempool, &sess_private_data)) {
-               CDEV_LOG_ERR(
-                       "Couldn't get object from session mempool");
+               AESNI_MB_LOG(ERR,
+                               "Couldn't get object from session mempool");
                return -ENOMEM;
        }
 
        ret = aesni_mb_set_session_parameters(&job_ops[internals->vector_mode],
                        sess_private_data, xform);
        if (ret != 0) {
-               MB_LOG_ERR("failed configure session parameters");
+               AESNI_MB_LOG(ERR, "failed configure session parameters");
 
                /* Return session to mempool */
                rte_mempool_put(mempool, sess_private_data);
index a33b2f6..bad2a87 100644 (file)
 #define CRYPTODEV_NAME_AESNI_MB_PMD    crypto_aesni_mb
 /**< AES-NI Multi buffer PMD device name */
 
-#define MB_LOG_ERR(fmt, args...) \
-       RTE_LOG(ERR, CRYPTODEV, "[%s] %s() line %u: " fmt "\n",  \
-                       RTE_STR(CRYPTODEV_NAME_AESNI_MB_PMD), \
-                       __func__, __LINE__, ## args)
-
-#ifdef RTE_LIBRTE_AESNI_MB_DEBUG
-#define MB_LOG_INFO(fmt, args...) \
-       RTE_LOG(INFO, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \
-                       CRYPTODEV_NAME_AESNI_MB_PMD, \
-                       __func__, __LINE__, ## args)
-
-#define MB_LOG_DBG(fmt, args...) \
-       RTE_LOG(DEBUG, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \
-                       CRYPTODEV_NAME_AESNI_MB_PMD, \
-                       __func__, __LINE__, ## args)
-#else
-#define MB_LOG_INFO(fmt, args...)
-#define MB_LOG_DBG(fmt, args...)
-#endif
+/** AESNI_MB PMD LOGTYPE DRIVER */
+int aesni_mb_logtype_driver;
+
+#define AESNI_MB_LOG(level, fmt, ...)  \
+       rte_log(RTE_LOG_ ## level, aesni_mb_logtype_driver,  \
+                       "%s() line %u: " fmt "\n", __func__, __LINE__,  \
+                                       ## __VA_ARGS__)
+
 
 #define HMAC_IPAD_VALUE                        (0x36)
 #define HMAC_OPAD_VALUE                        (0x5C)