From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v3] crypto/aesni_gcm: migration from MB library to ISA-L Date: Tue, 03 Jan 2017 15:14:46 +0100 Message-ID: <10528878.kOcN2Qlpj0@xps13> References: <1482864823-9164-1-git-send-email-michalx.k.jastrzebski@intel.com> <1483448523-150510-1-git-send-email-piotrx.t.azarewicz@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, pablo.de.lara.guarch@intel.com To: Piotr Azarewicz Return-path: Received: from mail-wj0-f171.google.com (mail-wj0-f171.google.com [209.85.210.171]) by dpdk.org (Postfix) with ESMTP id 81E792946 for ; Tue, 3 Jan 2017 15:14:48 +0100 (CET) Received: by mail-wj0-f171.google.com with SMTP id c11so240943705wjx.3 for ; Tue, 03 Jan 2017 06:14:48 -0800 (PST) In-Reply-To: <1483448523-150510-1-git-send-email-piotrx.t.azarewicz@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 2017-01-03 14:02, Piotr Azarewicz: > Current Cryptodev AES-NI GCM PMD is implemented using Multi Buffer > Crypto library.This patch reimplement the device using ISA-L Crypto > library: https://github.com/01org/isa-l_crypto. > > The migration entailed the following additional support for: > * GMAC algorithm. > * 256-bit cipher key. > * Session-less mode. > * Out-of place processing > * Scatter-gatter support for chained mbufs (only out-of place and > destination mbuf must be contiguous) > > Verified current unit tests and added new unit tests to verify new > functionalities. > > Signed-off-by: Piotr Azarewicz [...] > The AES-NI GCM PMD (**librte_pmd_aesni_gcm**) provides poll mode crypto driver > -support for utilizing Intel multi buffer library (see AES-NI Multi-buffer PMD documentation > -to learn more about it, including installation). > - > -The AES-NI GCM PMD has current only been tested on Fedora 21 64-bit with gcc. > +support for utilizing Intel ISA-L crypto library, which provides operation acceleration > +through the AES-NI instruction sets for AES-GCM authenticated cipher algorithm. Please could you compare these libraries regarding the performance? [...] > Features > -------- > @@ -49,16 +47,21 @@ Cipher algorithms: > Authentication algorithms: > > * RTE_CRYPTO_AUTH_AES_GCM > +* RTE_CRYPTO_AUTH_AES_GMAC > + > +Installation > +------------ > + > +To build DPDK with the AESNI_GCM_PMD the user is required to install > +the ``libisal_crypto`` library in the build environment. > +For download and more details please visit ``_. [...] > Limitations > ----------- > > -* Chained mbufs are not supported. > +* Chained mbufs are supported but only out-of-place (destination mbuf must be contiguous). > * Hash only is not supported. > * Cipher only is not supported. > -* Only in-place is currently supported (destination address is the same as source address). > -* Only supports session-oriented API implementation (session-less APIs are not supported). > * Not performance tuned. [...] > --- a/drivers/crypto/aesni_gcm/Makefile > +++ b/drivers/crypto/aesni_gcm/Makefile > @@ -31,9 +31,6 @@ > include $(RTE_SDK)/mk/rte.vars.mk > > ifneq ($(MAKECMDGOALS),clean) > -ifeq ($(AESNI_MULTI_BUFFER_LIB_PATH),) > -$(error "Please define AESNI_MULTI_BUFFER_LIB_PATH environment variable") > -endif > endif > > # library name > @@ -50,10 +47,7 @@ LIBABIVER := 1 > EXPORT_MAP := rte_pmd_aesni_gcm_version.map > > # external library dependencies > -CFLAGS += -I$(AESNI_MULTI_BUFFER_LIB_PATH) > -CFLAGS += -I$(AESNI_MULTI_BUFFER_LIB_PATH)/include > -LDLIBS += -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_MB > -LDLIBS += -lcrypto > +LDLIBS += -lisal_crypto You need to update the script test-build.sh. Thanks