From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 9A79E8E88 for ; Tue, 3 Nov 2015 22:20:24 +0100 (CET) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga101.jf.intel.com with ESMTP; 03 Nov 2015 13:20:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,240,1444719600"; d="scan'208";a="842378077" Received: from ffait-mobl5.ger.corp.intel.com (HELO [10.252.5.244]) ([10.252.5.244]) by fmsmga002.fm.intel.com with ESMTP; 03 Nov 2015 13:20:22 -0800 To: Declan Doherty , dev@dpdk.org References: <1446221333-3645-1-git-send-email-declan.doherty@intel.com> <1446572746-26207-1-git-send-email-declan.doherty@intel.com> From: Sergio Gonzalez Monroy Message-ID: <56392515.7080306@intel.com> Date: Tue, 3 Nov 2015 21:20:21 +0000 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <1446572746-26207-1-git-send-email-declan.doherty@intel.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v4 0/6] Crypto API and device framework X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Nov 2015 21:20:25 -0000 On 03/11/2015 17:45, Declan Doherty wrote: > This series of patches defines a set of application burst oriented APIs for > asynchronous symmetric cryptographic functions within DPDK. It also contains a > poll mode driver cryptographic device framework for the implementation of > crypto devices within DPDK. > > In the patch set we also have included 2 reference implementations of crypto > PMDs. Currently both implementations support AES128-CBC with > HMAC_SHA1/SHA256/SHA512 authentication operations. The first device is a purely > software PMD based on Intel's multi-buffer library, which utilises both > AES-NI instructions and vector operations to accelerate crypto operations and > the second PMD utilises Intel's Quick Assist Technology (on DH895xxC) to provide > hardware accelerated crypto operations. > > The API set supports two functional modes of operation: > > 1, A session oriented mode. In this mode the user creates a crypto session > which defines all the immutable data required to perform a particular crypto > operation in advance, including cipher/hash algorithms and operations to be > performed as well as the keys to used etc. The session is then referenced by > the crypto operation data structure which is a data structure specific to each > mbuf. It is contains all mutable data about the cryto operation to be > performed, such as data offsets and lengths into the mbuf's data payload for > cipher and hash operations to be performed. > > 2, A session-less mode. In this mode the user is able to provision crypto > operations on an mbuf without the need to have a cached session created in > advance, but at the cost of entailing the overhead of calculating > authentication pre-computes and preforming key expansions in-line with the > crypto operation. The crypto xform chain is directly attached to the op struct > in this mode, so the op struct now contains all of the immutable crypto operation > parameters that would be normally set within a session. Once all mutable and > immutable parameters are set the crypto operation data structure can be attached > to the specified mbuf and enqueued on a specified crypto device for processing. > > The patch set contains the following features: > - Crypto device APIs and device framework > - Implementation of a software crypto PMD based on multi-buffer library > - Implementation of a hardware crypto PMD baed on Intel QAT(DH895xxC) > - Unit and performance test's which give and example of utilising the crypto API's. > - Sample application which performs crypto operations on the IP payload of the > packets being forwarded > > Current Status: > There is no support for chained mbuf's and as mentioned above the PMD's > have currently implemented support for AES128-CBC/AES256-CBC/AES512-CBC > and HMAC_SHA1/SHA256/SHA512. > > v4: > - Some more EOF whitespace and checkpatch fixes > > v3: > - Fixes a document build error, which I missed in the V2 > - Fixes for remaining checkpatch errors > - Disables QAT and AESNI_MB PMD being build by default as they have external > library dependences > > v2: > - Introduces a new library to support attaching offload operations to a mbuf > - Remove unused APIs from cryptodev > - PMD code refactor due to new rte_mbuf_offload structure > - General bug fixes and code tidy up > > > Declan Doherty (6): > cryptodev: Initial DPDK Crypto APIs and device framework release > mbuf_offload: library to support attaching offloads to a mbuf > qat_crypto_pmd: Addition of a new QAT DPDK PMD. > aesni_mb_pmd: Initial implementation of multi buffer based crypto > device > app/test: add cryptodev unit and performance tests > l2fwd-crypto: crypto > > Series Acked-by: Sergio Gonzalez Monroy