crypto/aesni_gcm: add dynamic logging to aesni_gcm

Message ID 1528786244-24821-1-git-send-email-naga.sureshx.somarowthu@intel.com (mailing list archive)
State Changes Requested, archived
Delegated to: Pablo de Lara Guarch
Headers
Series crypto/aesni_gcm: add dynamic logging to aesni_gcm |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Naga Suresh Somarowthu June 12, 2018, 6:50 a.m. UTC
  From: tchaitax <tallurix.chaitanya.babu@intel.com>

1.added new logtype for aesni_gcm driver.
2.registered new logtype.
3.GCM_LOG_ERR and CDEV_LOG_ERR are replaced with
  new logtype name AESNI_GCM_PMD_LOG.

Signed-off-by: Talluri Chaitanya <tallurix.chaitanya.babu@intel.com>
Reviewed-by: Reshma Pattan <reshma.pattan@intel.com>
---
 drivers/crypto/aesni_gcm/aesni_gcm_pmd.c         | 29 ++++++++++++++++--------
 drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c     | 15 ++++++------
 drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h | 25 +++++---------------
 3 files changed, 32 insertions(+), 37 deletions(-)
  

Comments

De Lara Guarch, Pablo June 27, 2018, 3:13 p.m. UTC | #1
Hi Naga/Talluri,

> -----Original Message-----
> From: Somarowthu, Naga SureshX
> Sent: Tuesday, June 12, 2018 7:51 AM
> To: dev@dpdk.org
> Cc: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>; Pattan, Reshma
> <reshma.pattan@intel.com>; Chaitanya Babu, TalluriX
> <tallurix.chaitanya.babu@intel.com>
> Subject: [PATCH] crypto/aesni_gcm: add dynamic logging to aesni_gcm
> 
> From: tchaitax <tallurix.chaitanya.babu@intel.com>
> 
> 1.added new logtype for aesni_gcm driver.
> 2.registered new logtype.
> 3.GCM_LOG_ERR and CDEV_LOG_ERR are replaced with
>   new logtype name AESNI_GCM_PMD_LOG.
> 
> Signed-off-by: Talluri Chaitanya <tallurix.chaitanya.babu@intel.com>
> Reviewed-by: Reshma Pattan <reshma.pattan@intel.com>

Could you make the following changes?

- Change the macro to AESNI_GCM_LOG, to make it shorter.
- Change title to: crypto/aesni_gcm: add dynamic logging
- Change the author name to "Talluri Chaitanya"
- Remove unused "CONFIG_RTE_LIBRTE_PMD_AESNI_GCM_DEBUG=n"
from config file.
- Set log level of the new type to INFO (see isal_compress_pmd.c)

Thanks,
Pablo
  

Patch

diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
index 80360dd9c..999e61b5f 100644
--- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
+++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
@@ -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_PMD_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_PMD_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_PMD_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_PMD_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_PMD_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_PMD_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_PMD_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_PMD_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");
+
+}
diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c
index 6f542137c..817f99b28 100644
--- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c
+++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c
@@ -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_PMD_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_PMD_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_PMD_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_PMD_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_PMD_LOG(ERR, "failed configure session parameters");
 
 		/* Return session to mempool */
 		rte_mempool_put(mempool, sess_private_data);
diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h
index 3d60583b0..52372d972 100644
--- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h
+++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h
@@ -10,25 +10,12 @@ 
 #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_PMD_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