On Sat, 2015-12-12 at 13:48 +0800, Herbert Xu wrote:
> On Fri, Dec 11, 2015 at 08:54:40AM -0800, Tim Chen wrote:
> > Direct call I assume have less overhead. Let me think about
>
> static inline int crypto_ablkcipher_encrypt(struct ablkcipher_request *req)
> {
> struct ablkcipher_tfm *crt
On Fri, 2015-12-11 at 11:23 +0800, Herbert Xu wrote:
> On Thu, Dec 10, 2015 at 08:39:45AM -0800, Tim Chen wrote:
> >
> > The inner cipher is called synchronously from the outer layer
> > async cipher algorithm in cbc_mb_async_ablk_decrypt via
> >
> > err =
On Fri, Dec 11, 2015 at 08:54:40AM -0800, Tim Chen wrote:
> Direct call I assume have less overhead. Let me think about
static inline int crypto_ablkcipher_encrypt(struct ablkcipher_request *req)
{
struct ablkcipher_tfm *crt =
On Thu, 2015-12-10 at 09:45 +0800, Herbert Xu wrote:
> On Wed, Dec 09, 2015 at 09:23:14AM -0800, Tim Chen wrote:
> >
> > This is an internal algorithm. We are indeed casting the request
> > to the outer ablkcipher request when we do the async cipher walk.
>
> The question remain: why does it
On Thu, Dec 10, 2015 at 08:39:45AM -0800, Tim Chen wrote:
>
> The inner cipher is called synchronously from the outer layer
> async cipher algorithm in cbc_mb_async_ablk_decrypt via
>
> err = crypto_blkcipher_crt(child_tfm)->decrypt(
> >desc, req->dst, req->src,
On Wed, Dec 09, 2015 at 09:23:14AM -0800, Tim Chen wrote:
>
> This is an internal algorithm. We are indeed casting the request
> to the outer ablkcipher request when we do the async cipher walk.
The question remain: why does it have to be a blkcipher rather
than an ablkcipher?
Cheers,
--
On Wed, 2015-12-09 at 10:52 +0800, Herbert Xu wrote:
> On Wed, Dec 02, 2015 at 12:02:45PM -0800, Tim Chen wrote:
> >
> > +/*
> > + * CRYPTO_ALG_ASYNC flag is passed to indicate we have an ablk
> > + * scatter-gather walk.
> > + */
> > +
> > +static struct crypto_alg aes_cbc_mb_alg = {
> > +
On Wed, Dec 02, 2015 at 12:02:45PM -0800, Tim Chen wrote:
>
> +/*
> + * CRYPTO_ALG_ASYNC flag is passed to indicate we have an ablk
> + * scatter-gather walk.
> + */
> +
> +static struct crypto_alg aes_cbc_mb_alg = {
> + .cra_name = "__cbc-aes-aesni-mb",
> + .cra_driver_name
This patch introduces the multi-buffer job manager which is responsible
for submitting scatter-gather buffers from several AES CBC jobs
to the multi-buffer algorithm. The glue code interfaces with the
underlying algorithm that handles 8 data streams of AES CBC encryption
in parallel. AES key