From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <tomaszx.kulasek@intel.com>
Received: from mga14.intel.com (mga14.intel.com [192.55.52.115])
 by dpdk.org (Postfix) with ESMTP id 505032C4F
 for <dev@dpdk.org>; Thu, 29 Dec 2016 18:12:29 +0100 (CET)
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
 by fmsmga103.fm.intel.com with ESMTP; 29 Dec 2016 09:12:29 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.33,428,1477983600"; d="scan'208";a="1087894966"
Received: from unknown (HELO Sent) ([10.103.102.79])
 by fmsmga001.fm.intel.com with SMTP; 29 Dec 2016 09:12:27 -0800
Received: by Sent (sSMTP sendmail emulation); Thu, 29 Dec 2016 18:12:26 +0100
From: Tomasz Kulasek <tomaszx.kulasek@intel.com>
To: dev@dpdk.org
Cc: olivier.matz@6wind.com
Date: Thu, 29 Dec 2016 18:12:18 +0100
Message-Id: <1483031543-21196-1-git-send-email-tomaszx.kulasek@intel.com>
X-Mailer: git-send-email 2.1.4
In-Reply-To: <1480698466-17620-1-git-send-email-tomaszx.kulasek@intel.com>
References: <1480698466-17620-1-git-send-email-tomaszx.kulasek@intel.com>
Subject: [dpdk-dev] [PATCH v2 0/5] Chained Mbufs support in SW PMDs
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Dec 2016 17:12:31 -0000

This patch set adds support of scattered-gather list for SW PMDs.

As of now, application needs to reserve continuous block of memory for
mbufs which is not always the case. Hence needed to support chaining of
mbufs which are smaller in size but can be used if chained.


Above work involves:

 a) Create mbuf functions to coalesce mbuf chains into a single mbuf.
 b) For each software poll mode driver code to detect chained mbufs
    support and coalesce these before preforming crypto.
 c) Add relevant unit tests to test the functionality.


Known limitations for openssl PMD:

While libcrypto library expects continuous destination buffer for
output of cipher operations, implementation of openssl PMD is limited
the same way, and requires contigous destination mbuf.


changes in v2:
 - add support for sgl in openssl PMD
 - rte_pktmbuf_coalesce replaced with rte_pktmbuf_linearize
 - extended test vector data for aes gcm from 60 to 2048 bytes

Tomasz Kulasek (5):
  rte_mbuf: add rte_pktmbuf_linearize
  test: add rte_pktmbuf_linearize unit tests
  crypto: add sgl support in sw PMDs
  crypto: add sgl support in openssl PMD
  test: add sgl unit tests for crypto devices

 app/test/test_cryptodev.c                  |  589 +++++++++++++++++++++++++++-
 app/test/test_cryptodev.h                  |  139 +++++++
 app/test/test_cryptodev_aes_test_vectors.h |   54 ++-
 app/test/test_cryptodev_blockcipher.c      |  181 ++++++---
 app/test/test_cryptodev_blockcipher.h      |    3 +-
 app/test/test_cryptodev_des_test_vectors.h |   29 ++
 app/test/test_cryptodev_gcm_test_vectors.h |  557 +++++++++++++++++++++++++-
 app/test/test_mbuf.c                       |  123 ++++++
 doc/guides/cryptodevs/openssl.rst          |    2 +-
 drivers/crypto/aesni_gcm/aesni_gcm_pmd.c   |   14 +
 drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c |   19 +-
 drivers/crypto/kasumi/rte_kasumi_pmd.c     |   13 +
 drivers/crypto/null/null_crypto_pmd.c      |    3 +-
 drivers/crypto/openssl/rte_openssl_pmd.c   |  329 ++++++++++++----
 drivers/crypto/snow3g/rte_snow3g_pmd.c     |   15 +
 drivers/crypto/zuc/rte_zuc_pmd.c           |   13 +
 lib/librte_cryptodev/rte_cryptodev.c       |    4 +-
 lib/librte_cryptodev/rte_cryptodev.h       |    3 +-
 lib/librte_mbuf/rte_mbuf.h                 |   56 +++
 19 files changed, 1991 insertions(+), 155 deletions(-)

-- 
1.7.9.5