[Qemu-devel] [PATCH for-2.10 00/19] crypto: add af_alg-backend support

Longpeng(Mike) posted 19 patches 7 years ago
Only 0 patches received!
configure                   |  21 ++++
crypto/Makefile.objs        |   3 +
crypto/afalg-comm.c         |  71 ++++++++++++++
crypto/cipher-afalg.c       | 229 +++++++++++++++++++++++++++++++++++++++++++
crypto/cipher-builtin.c     | 120 +++++++++++------------
crypto/cipher-gcrypt.c      |  99 ++++++++++---------
crypto/cipher-nettle.c      |  78 ++++++++-------
crypto/cipher.c             |  87 +++++++++++++++++
crypto/hash-afalg.c         | 232 ++++++++++++++++++++++++++++++++++++++++++++
crypto/hash-gcrypt.c        |  17 ++--
crypto/hash-glib.c          |  17 ++--
crypto/hash-nettle.c        |  17 ++--
crypto/hash.c               |  22 +++++
crypto/hmac-gcrypt.c        |  39 ++++----
crypto/hmac-glib.c          |  58 +++++------
crypto/hmac-nettle.c        |  39 +++-----
crypto/hmac.c               |  65 +++++++++++++
crypto/hmac.h               | 166 -------------------------------
include/crypto/afalg-comm.h |  74 ++++++++++++++
include/crypto/cipher.h     |  29 ++++++
include/crypto/hash.h       |  13 +++
include/crypto/hmac.h       | 199 +++++++++++++++++++++++++++++++++++++
include/qemu/sockets.h      |   6 ++
qapi-schema.json            |  21 +++-
tests/test-crypto-cipher.c  |  92 ++++++++++++++++--
tests/test-crypto-hash.c    |  56 ++++++++++-
tests/test-crypto-hmac.c    |  66 ++++++++++++-
util/qemu-sockets.c         |  91 +++++++++++++++++
28 files changed, 1599 insertions(+), 428 deletions(-)
create mode 100644 crypto/afalg-comm.c
create mode 100644 crypto/cipher-afalg.c
create mode 100644 crypto/hash-afalg.c
delete mode 100644 crypto/hmac.h
create mode 100644 include/crypto/afalg-comm.h
create mode 100644 include/crypto/hmac.h
[Qemu-devel] [PATCH for-2.10 00/19] crypto: add af_alg-backend support
Posted by Longpeng(Mike) 7 years ago
The AF_ALG socket family is the userspace interface for linux
crypto API, users can use it to access hardware accelerators.

This patchset adds a afalg-backend for qemu crypto subsystem. Currently
when performs encrypt/decrypt, we'll try afalg-backend first and will
back to libiary-backend if it failed.

In the next step, It would support a command parameter to specifies
which backends prefer to and some other improvements.

Longpeng(Mike) (19):
  crypto: cipher: introduce context free function
  crypto: cipher: introduce qcrypto_cipher_ctx_new for gcrypt-backend
  crypto: cipher: introduce qcrypto_cipher_ctx_new for nettle-backend
  crypto: cipher: introduce qcrypto_cipher_ctx_new for builtin-backend
  crypto: cipher: add cipher driver framework
  crypto: hash: add hash driver framework
  crypto: hmac: move crypto/hmac.h into include/crypto/
  crypto: hmac: introduce qcrypto_hmac_ctx_new for gcrypt-backend
  crypto: hmac: introduce qcrypto_hmac_ctx_new for nettle-backend
  crypto: hmac: introduce qcrypto_hmac_ctx_new for glib-backend
  crypto: hmac: add hmac driver framework
  socket: add af_alg family support
  crypto: introduce some common functions for af_alg backend
  crypto: cipher: add af_alg cipher support
  tests: crypto: add cipher speed case
  crypto: hash: add af_alg hash support
  tests: crypto: add hash speed case
  crypto: hmac: add af_alg hmac support
  tests: crypto: add hmac speed case

 configure                   |  21 ++++
 crypto/Makefile.objs        |   3 +
 crypto/afalg-comm.c         |  71 ++++++++++++++
 crypto/cipher-afalg.c       | 229 +++++++++++++++++++++++++++++++++++++++++++
 crypto/cipher-builtin.c     | 120 +++++++++++------------
 crypto/cipher-gcrypt.c      |  99 ++++++++++---------
 crypto/cipher-nettle.c      |  78 ++++++++-------
 crypto/cipher.c             |  87 +++++++++++++++++
 crypto/hash-afalg.c         | 232 ++++++++++++++++++++++++++++++++++++++++++++
 crypto/hash-gcrypt.c        |  17 ++--
 crypto/hash-glib.c          |  17 ++--
 crypto/hash-nettle.c        |  17 ++--
 crypto/hash.c               |  22 +++++
 crypto/hmac-gcrypt.c        |  39 ++++----
 crypto/hmac-glib.c          |  58 +++++------
 crypto/hmac-nettle.c        |  39 +++-----
 crypto/hmac.c               |  65 +++++++++++++
 crypto/hmac.h               | 166 -------------------------------
 include/crypto/afalg-comm.h |  74 ++++++++++++++
 include/crypto/cipher.h     |  29 ++++++
 include/crypto/hash.h       |  13 +++
 include/crypto/hmac.h       | 199 +++++++++++++++++++++++++++++++++++++
 include/qemu/sockets.h      |   6 ++
 qapi-schema.json            |  21 +++-
 tests/test-crypto-cipher.c  |  92 ++++++++++++++++--
 tests/test-crypto-hash.c    |  56 ++++++++++-
 tests/test-crypto-hmac.c    |  66 ++++++++++++-
 util/qemu-sockets.c         |  91 +++++++++++++++++
 28 files changed, 1599 insertions(+), 428 deletions(-)
 create mode 100644 crypto/afalg-comm.c
 create mode 100644 crypto/cipher-afalg.c
 create mode 100644 crypto/hash-afalg.c
 delete mode 100644 crypto/hmac.h
 create mode 100644 include/crypto/afalg-comm.h
 create mode 100644 include/crypto/hmac.h

-- 
1.8.3.1



Re: [Qemu-devel] [PATCH for-2.10 00/19] crypto: add af_alg-backend support
Posted by Gonglei (Arei) 7 years ago
> -----Original Message-----
> From: longpeng
> Sent: Monday, April 10, 2017 5:03 PM
> To: berrange@redhat.com; kraxel@redhat.com; pbonzini@redhat.com;
> eblake@redhat.com; armbru@redhat.com
> Cc: Xuquan (Quan Xu); Gonglei (Arei); qemu-devel@nongnu.org; longpeng
> Subject: [PATCH for-2.10 00/19] crypto: add af_alg-backend support
> 
> The AF_ALG socket family is the userspace interface for linux
> crypto API, users can use it to access hardware accelerators.
> 
> This patchset adds a afalg-backend for qemu crypto subsystem. Currently
> when performs encrypt/decrypt, we'll try afalg-backend first and will
> back to libiary-backend if it failed.
> 
Cool.

You'd better add the performance compared results in the cover letter. :)


Regards,
-Gonglei

> In the next step, It would support a command parameter to specifies
> which backends prefer to and some other improvements.
> 
> Longpeng(Mike) (19):
>   crypto: cipher: introduce context free function
>   crypto: cipher: introduce qcrypto_cipher_ctx_new for gcrypt-backend
>   crypto: cipher: introduce qcrypto_cipher_ctx_new for nettle-backend
>   crypto: cipher: introduce qcrypto_cipher_ctx_new for builtin-backend
>   crypto: cipher: add cipher driver framework
>   crypto: hash: add hash driver framework
>   crypto: hmac: move crypto/hmac.h into include/crypto/
>   crypto: hmac: introduce qcrypto_hmac_ctx_new for gcrypt-backend
>   crypto: hmac: introduce qcrypto_hmac_ctx_new for nettle-backend
>   crypto: hmac: introduce qcrypto_hmac_ctx_new for glib-backend
>   crypto: hmac: add hmac driver framework
>   socket: add af_alg family support
>   crypto: introduce some common functions for af_alg backend
>   crypto: cipher: add af_alg cipher support
>   tests: crypto: add cipher speed case
>   crypto: hash: add af_alg hash support
>   tests: crypto: add hash speed case
>   crypto: hmac: add af_alg hmac support
>   tests: crypto: add hmac speed case
> 
>  configure                   |  21 ++++
>  crypto/Makefile.objs        |   3 +
>  crypto/afalg-comm.c         |  71 ++++++++++++++
>  crypto/cipher-afalg.c       | 229
> +++++++++++++++++++++++++++++++++++++++++++
>  crypto/cipher-builtin.c     | 120 +++++++++++------------
>  crypto/cipher-gcrypt.c      |  99 ++++++++++---------
>  crypto/cipher-nettle.c      |  78 ++++++++-------
>  crypto/cipher.c             |  87 +++++++++++++++++
>  crypto/hash-afalg.c         | 232
> ++++++++++++++++++++++++++++++++++++++++++++
>  crypto/hash-gcrypt.c        |  17 ++--
>  crypto/hash-glib.c          |  17 ++--
>  crypto/hash-nettle.c        |  17 ++--
>  crypto/hash.c               |  22 +++++
>  crypto/hmac-gcrypt.c        |  39 ++++----
>  crypto/hmac-glib.c          |  58 +++++------
>  crypto/hmac-nettle.c        |  39 +++-----
>  crypto/hmac.c               |  65 +++++++++++++
>  crypto/hmac.h               | 166 -------------------------------
>  include/crypto/afalg-comm.h |  74 ++++++++++++++
>  include/crypto/cipher.h     |  29 ++++++
>  include/crypto/hash.h       |  13 +++
>  include/crypto/hmac.h       | 199
> +++++++++++++++++++++++++++++++++++++
>  include/qemu/sockets.h      |   6 ++
>  qapi-schema.json            |  21 +++-
>  tests/test-crypto-cipher.c  |  92 ++++++++++++++++--
>  tests/test-crypto-hash.c    |  56 ++++++++++-
>  tests/test-crypto-hmac.c    |  66 ++++++++++++-
>  util/qemu-sockets.c         |  91 +++++++++++++++++
>  28 files changed, 1599 insertions(+), 428 deletions(-)
>  create mode 100644 crypto/afalg-comm.c
>  create mode 100644 crypto/cipher-afalg.c
>  create mode 100644 crypto/hash-afalg.c
>  delete mode 100644 crypto/hmac.h
>  create mode 100644 include/crypto/afalg-comm.h
>  create mode 100644 include/crypto/hmac.h
> 
> --
> 1.8.3.1
> 


Re: [Qemu-devel] [PATCH for-2.10 00/19] crypto: add af_alg-backend support
Posted by Longpeng (Mike) 7 years ago
On 2017/4/10 17:28, Gonglei (Arei) wrote:

> 
>> -----Original Message-----
>> From: longpeng
>> Sent: Monday, April 10, 2017 5:03 PM
>> To: berrange@redhat.com; kraxel@redhat.com; pbonzini@redhat.com;
>> eblake@redhat.com; armbru@redhat.com
>> Cc: Xuquan (Quan Xu); Gonglei (Arei); qemu-devel@nongnu.org; longpeng
>> Subject: [PATCH for-2.10 00/19] crypto: add af_alg-backend support
>>
>> The AF_ALG socket family is the userspace interface for linux
>> crypto API, users can use it to access hardware accelerators.
>>
>> This patchset adds a afalg-backend for qemu crypto subsystem. Currently
>> when performs encrypt/decrypt, we'll try afalg-backend first and will
>> back to libiary-backend if it failed.
>>
> Cool.
> 
> You'd better add the performance compared results in the cover letter. :)
> 


OK, I'll add the results in V2.

In addition, I find a BUG in patch 18, please review other parts and I'll fix
them together in next version.

> 
> Regards,
> -Gonglei
> 
>> In the next step, It would support a command parameter to specifies
>> which backends prefer to and some other improvements.
>>
>> Longpeng(Mike) (19):
>>   crypto: cipher: introduce context free function
>>   crypto: cipher: introduce qcrypto_cipher_ctx_new for gcrypt-backend
>>   crypto: cipher: introduce qcrypto_cipher_ctx_new for nettle-backend
>>   crypto: cipher: introduce qcrypto_cipher_ctx_new for builtin-backend
>>   crypto: cipher: add cipher driver framework
>>   crypto: hash: add hash driver framework
>>   crypto: hmac: move crypto/hmac.h into include/crypto/
>>   crypto: hmac: introduce qcrypto_hmac_ctx_new for gcrypt-backend
>>   crypto: hmac: introduce qcrypto_hmac_ctx_new for nettle-backend
>>   crypto: hmac: introduce qcrypto_hmac_ctx_new for glib-backend
>>   crypto: hmac: add hmac driver framework
>>   socket: add af_alg family support
>>   crypto: introduce some common functions for af_alg backend
>>   crypto: cipher: add af_alg cipher support
>>   tests: crypto: add cipher speed case
>>   crypto: hash: add af_alg hash support
>>   tests: crypto: add hash speed case
>>   crypto: hmac: add af_alg hmac support
>>   tests: crypto: add hmac speed case
>>
>>  configure                   |  21 ++++
>>  crypto/Makefile.objs        |   3 +
>>  crypto/afalg-comm.c         |  71 ++++++++++++++
>>  crypto/cipher-afalg.c       | 229
>> +++++++++++++++++++++++++++++++++++++++++++
>>  crypto/cipher-builtin.c     | 120 +++++++++++------------
>>  crypto/cipher-gcrypt.c      |  99 ++++++++++---------
>>  crypto/cipher-nettle.c      |  78 ++++++++-------
>>  crypto/cipher.c             |  87 +++++++++++++++++
>>  crypto/hash-afalg.c         | 232
>> ++++++++++++++++++++++++++++++++++++++++++++
>>  crypto/hash-gcrypt.c        |  17 ++--
>>  crypto/hash-glib.c          |  17 ++--
>>  crypto/hash-nettle.c        |  17 ++--
>>  crypto/hash.c               |  22 +++++
>>  crypto/hmac-gcrypt.c        |  39 ++++----
>>  crypto/hmac-glib.c          |  58 +++++------
>>  crypto/hmac-nettle.c        |  39 +++-----
>>  crypto/hmac.c               |  65 +++++++++++++
>>  crypto/hmac.h               | 166 -------------------------------
>>  include/crypto/afalg-comm.h |  74 ++++++++++++++
>>  include/crypto/cipher.h     |  29 ++++++
>>  include/crypto/hash.h       |  13 +++
>>  include/crypto/hmac.h       | 199
>> +++++++++++++++++++++++++++++++++++++
>>  include/qemu/sockets.h      |   6 ++
>>  qapi-schema.json            |  21 +++-
>>  tests/test-crypto-cipher.c  |  92 ++++++++++++++++--
>>  tests/test-crypto-hash.c    |  56 ++++++++++-
>>  tests/test-crypto-hmac.c    |  66 ++++++++++++-
>>  util/qemu-sockets.c         |  91 +++++++++++++++++
>>  28 files changed, 1599 insertions(+), 428 deletions(-)
>>  create mode 100644 crypto/afalg-comm.c
>>  create mode 100644 crypto/cipher-afalg.c
>>  create mode 100644 crypto/hash-afalg.c
>>  delete mode 100644 crypto/hmac.h
>>  create mode 100644 include/crypto/afalg-comm.h
>>  create mode 100644 include/crypto/hmac.h
>>
>> --
>> 1.8.3.1
>>
> 
> 
> .
> 


-- 
Regards,
Longpeng(Mike)