crypto/aesni_gcm: add dynamic logging
authorChaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
Thu, 28 Jun 2018 14:47:12 +0000 (15:47 +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 GCM_LOG_ERR and CDEV_LOG_ERR
with the new AESNI_GCM_LOG macro, which uses the new logtype.

Signed-off-by: Chaitanya Babu Talluri <tallurix.chaitanya.babu@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_gcm/aesni_gcm_pmd.c
drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c
drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h

index fc9fe96..b69b2da 100644 (file)
@@ -516,7 +516,6 @@ CONFIG_RTE_LIBRTE_PMD_OPENSSL=n
 # Compile PMD for AESNI GCM device
 #
 CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=n
-CONFIG_RTE_LIBRTE_PMD_AESNI_GCM_DEBUG=n
 
 #
 # Compile PMD for SNOW 3G device
index 80360dd..d196826 100644 (file)
@@ -31,8 +31,8 @@ aesni_gcm_set_session_parameters(const struct aesni_gcm_ops *gcm_ops,
        if (xform->type == RTE_CRYPTO_SYM_XFORM_AUTH) {
                auth_xform = xform;
                if (auth_xform->auth.algo != RTE_CRYPTO_AUTH_AES_GMAC) {
-                       GCM_LOG_ERR("Only AES GMAC is supported as an "
-                                       "authentication only algorithm");
+                       AESNI_GCM_LOG(ERR, "Only AES GMAC is supported as an "
+                               "authentication only algorithm");
                        return -ENOTSUP;
                }
                /* Set IV parameters */
@@ -54,7 +54,7 @@ aesni_gcm_set_session_parameters(const struct aesni_gcm_ops *gcm_ops,
                aead_xform = xform;
 
                if (aead_xform->aead.algo != RTE_CRYPTO_AEAD_AES_GCM) {
-                       GCM_LOG_ERR("The only combined operation "
+                       AESNI_GCM_LOG(ERR, "The only combined operation "
                                                "supported is AES GCM");
                        return -ENOTSUP;
                }
@@ -75,7 +75,7 @@ aesni_gcm_set_session_parameters(const struct aesni_gcm_ops *gcm_ops,
                sess->aad_length = aead_xform->aead.aad_length;
                digest_length = aead_xform->aead.digest_length;
        } else {
-               GCM_LOG_ERR("Wrong xform type, has to be AEAD or authentication");
+               AESNI_GCM_LOG(ERR, "Wrong xform type, has to be AEAD or authentication");
                return -ENOTSUP;
        }
 
@@ -83,7 +83,7 @@ aesni_gcm_set_session_parameters(const struct aesni_gcm_ops *gcm_ops,
        /* IV check */
        if (sess->iv.length != 16 && sess->iv.length != 12 &&
                        sess->iv.length != 0) {
-               GCM_LOG_ERR("Wrong IV length");
+               AESNI_GCM_LOG(ERR, "Wrong IV length");
                return -EINVAL;
        }
 
@@ -99,7 +99,7 @@ aesni_gcm_set_session_parameters(const struct aesni_gcm_ops *gcm_ops,
                sess->key = AESNI_GCM_KEY_256;
                break;
        default:
-               GCM_LOG_ERR("Invalid key length");
+               AESNI_GCM_LOG(ERR, "Invalid key length");
                return -EINVAL;
        }
 
@@ -109,7 +109,7 @@ aesni_gcm_set_session_parameters(const struct aesni_gcm_ops *gcm_ops,
        if (digest_length != 16 &&
                        digest_length != 12 &&
                        digest_length != 8) {
-               GCM_LOG_ERR("digest");
+               AESNI_GCM_LOG(ERR, "Invalid digest length");
                return -EINVAL;
        }
        sess->digest_length = digest_length;
@@ -464,13 +464,13 @@ aesni_gcm_create(const char *name,
 
        /* Check CPU for support for AES instruction set */
        if (!rte_cpu_get_flag_enabled(RTE_CPUFLAG_AES)) {
-               GCM_LOG_ERR("AES instructions not supported by CPU");
+               AESNI_GCM_LOG(ERR, "AES instructions not supported by CPU");
                return -EFAULT;
        }
-
        dev = rte_cryptodev_pmd_create(name, &vdev->device, init_params);
        if (dev == NULL) {
-               GCM_LOG_ERR("driver %s: create failed", init_params->name);
+               AESNI_GCM_LOG(ERR, "driver %s: create failed",
+                       init_params->name);
                return -ENODEV;
        }
 
@@ -572,3 +572,12 @@ RTE_PMD_REGISTER_PARAM_STRING(CRYPTODEV_NAME_AESNI_GCM_PMD,
        "socket_id=<int>");
 RTE_PMD_REGISTER_CRYPTO_DRIVER(aesni_gcm_crypto_drv, aesni_gcm_pmd_drv.driver,
                cryptodev_driver_id);
+
+
+RTE_INIT(aesni_gcm_init_log);
+static void
+aesni_gcm_init_log(void)
+{
+       aesni_gcm_logtype_driver = rte_log_register("pmd.crypto.aesni_gcm");
+
+}
index 6f54213..eacbdc0 100644 (file)
@@ -183,12 +183,11 @@ aesni_gcm_pmd_qp_create_processed_pkts_ring(struct aesni_gcm_qp *qp,
        r = rte_ring_lookup(qp->name);
        if (r) {
                if (rte_ring_get_size(r) >= ring_size) {
-                       GCM_LOG_INFO("Reusing existing ring %s for processed"
-                                       " packets", qp->name);
+                       AESNI_GCM_LOG(INFO, "Reusing existing ring %s for processed"
+                               " packets", qp->name);
                        return r;
                }
-
-               GCM_LOG_ERR("Unable to reuse existing ring %s for processed"
+               AESNI_GCM_LOG(ERR, "Unable to reuse existing ring %s for processed"
                                " packets", qp->name);
                return NULL;
        }
@@ -284,19 +283,19 @@ aesni_gcm_pmd_session_configure(struct rte_cryptodev *dev __rte_unused,
        struct aesni_gcm_private *internals = dev->data->dev_private;
 
        if (unlikely(sess == NULL)) {
-               GCM_LOG_ERR("invalid session struct");
+               AESNI_GCM_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_GCM_LOG(ERR,
+                               "Couldn't get object from session mempool");
                return -ENOMEM;
        }
        ret = aesni_gcm_set_session_parameters(gcm_ops[internals->vector_mode],
                                sess_private_data, xform);
        if (ret != 0) {
-               GCM_LOG_ERR("failed configure session parameters");
+               AESNI_GCM_LOG(ERR, "failed configure session parameters");
 
                /* Return session to mempool */
                rte_mempool_put(mempool, sess_private_data);
index 3d60583..2b9c251 100644 (file)
 #define CRYPTODEV_NAME_AESNI_GCM_PMD   crypto_aesni_gcm
 /**< AES-NI GCM PMD device name */
 
-#define GCM_LOG_ERR(fmt, args...) \
-       RTE_LOG(ERR, CRYPTODEV, "[%s] %s() line %u: " fmt "\n",  \
-                       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", \
-                       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", \
-                       RTE_STR(CRYPTODEV_NAME_AESNI_GCM_PMD), \
-                       __func__, __LINE__, ## args)
-#else
-#define GCM_LOG_INFO(fmt, args...)
-#define GCM_LOG_DBG(fmt, args...)
-#endif
+/** AES-NI GCM PMD  LOGTYPE DRIVER */
+int aesni_gcm_logtype_driver;
+#define AESNI_GCM_LOG(level, fmt, ...) \
+       rte_log(RTE_LOG_ ## level, aesni_gcm_logtype_driver,    \
+                       "%s() line %u: "fmt "\n", __func__, __LINE__,   \
+                                       ## __VA_ARGS__)
 
 /* Maximum length for digest */
 #define DIGEST_LENGTH_MAX 16