From: Cristian Stoica <cristian.sto...@freescale.com>

This adds support for composite algorithm offload in a single crypto
(cipher + hmac) operation.

It requires either software or hardware TLS support in the Linux kernel
and can be used with Freescale B*, P* and T* platforms that have support
for hardware TLS acceleration.

Signed-off-by: Cristian Stoica <cristian.sto...@freescale.com>
Change-Id: Icd67cff4369b293787ad8e767e716a986d8dae9b
Reviewed-on: http://git.am.freescale.net:8181/6193
Reviewed-by: Mircea Pop <mircea....@freescale.com>
Reviewed-by: Alexandru Porosanu <alexandru.poros...@freescale.com>
Reviewed-by: Horia Ioan Geanta Neag <horia.gea...@freescale.com>
Tested-by: Horia Ioan Geanta Neag <horia.gea...@freescale.com>
Signed-off-by: Horia Geanta <horia.gea...@freescale.com>
---
 crypto/cryptodev.h |    1 +
 ioctl.c            |    5 +++++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/crypto/cryptodev.h b/crypto/cryptodev.h
index 95de722..3ea3d35 100644
--- a/crypto/cryptodev.h
+++ b/crypto/cryptodev.h
@@ -50,6 +50,7 @@ enum cryptodev_crypto_op_t {
        CRYPTO_SHA2_384,
        CRYPTO_SHA2_512,
        CRYPTO_SHA2_224_HMAC,
+       CRYPTO_TLS10_AES_CBC_HMAC_SHA1,
        CRYPTO_ALGORITHM_ALL, /* Keep updated - see below */
 };
 
diff --git a/ioctl.c b/ioctl.c
index ae27293..2b9a1b7 100644
--- a/ioctl.c
+++ b/ioctl.c
@@ -149,6 +149,11 @@ crypto_create_session(struct fcrypt *fcr, struct 
session_op *sop)
                stream = 1;
                aead = 1;
                break;
+       case CRYPTO_TLS10_AES_CBC_HMAC_SHA1:
+               alg_name = "tls10(hmac(sha1),cbc(aes))";
+               stream = 0;
+               aead = 1;
+               break;
        case CRYPTO_NULL:
                alg_name = "ecb(cipher_null)";
                stream = 1;
-- 
1.7.7.6



_______________________________________________
Cryptodev-linux-devel mailing list
Cryptodev-linux-devel@gna.org
https://mail.gna.org/listinfo/cryptodev-linux-devel

Reply via email to