From patchwork Wed Oct 13 18:27:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 101456 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 114DCA0C55; Wed, 13 Oct 2021 20:32:05 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 168294118D; Wed, 13 Oct 2021 20:31:55 +0200 (CEST) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40087.outbound.protection.outlook.com [40.107.4.87]) by mails.dpdk.org (Postfix) with ESMTP id C089541173 for ; Wed, 13 Oct 2021 20:31:53 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DuBN/jszxdKvf6cECG6OJfTfGR1+eBnapLxjEJLlaUT35uU9sqbTvoTjL2JfMUmyOyivSo6Bt8m8xj3t6HMPyt5RRvZUH7bHizUAG1ZA11FtSfpTlSLnnSZzYa7NXhTOCn+ItoEx/j3/JzAVXS4Cxa21E6YR/1EEHm+PGz5OlsC01CyzXapyb97+sSvNUImsI1XrCWfCcg86JyYOOzoOs6Sm3UoPDfP5AU5ogXf0kJUC0dEA+PRA0RrWGHXbGiZ53E85/iOmkCnObHwC0t8laSGnpGMDvihqIm3wyx12/zSn9pqf75+042xSfcJ+x0IEtalUMibk2ShcR5tBCeJz/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MQNbT51uEEFPEgJAh7v7/Piz4iyAlMt0g8wrWa0jyOA=; b=ntwmCCna6o7cKp7Z9lszsmj9FjbNpebwIowBvheum1in4ES9GWJrCyQjCYoy2t2A7fI0cBwW3/ssyeYR+C1IWzqBWZA0fozd3tLL9dxeyOI6mRofy52wcQ8e+p8BPrOOmRAL8ikZ3aMXjmfQwtC/bQ2B6lt+WXsp81qKFUq7h07N5ouGWNOhakQzhwJrNAEMZX3rdUv8/3p5iRSy0Vb3YEu0IU/rRc/nUFtuk+hBk6ZvDrTXyfJ7pvkO9S9Asm/1L3hjbfsKpOx5y4Hu9L+SIGKn1YQ1fztf56wmB40N+IAAVfSrJSHC7APYoBl+7+7aVb4P/zYnZwoD24qEIlxWgQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MQNbT51uEEFPEgJAh7v7/Piz4iyAlMt0g8wrWa0jyOA=; b=VB1x9zhn8PZ0CNIoEHToBcCEAkfYLDU9Lmf3R0YpY1JDVyJw/P5V9Fmm7eD+heSAQNTB7X6IyGr0YphtrZa26L/Rc0UhES5p+bEXJLFvQVRGSNqzs6vkhHCqryCtVk9nmQfNp/Zv9CZYBw5OglOFpbfXczwD7UfbQdJEscsc1wU= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8630.eurprd04.prod.outlook.com (2603:10a6:10:2dd::15) by DU2PR04MB8597.eurprd04.prod.outlook.com (2603:10a6:10:2d8::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.16; Wed, 13 Oct 2021 18:31:53 +0000 Received: from DU2PR04MB8630.eurprd04.prod.outlook.com ([fe80::945d:e362:712d:1b80]) by DU2PR04MB8630.eurprd04.prod.outlook.com ([fe80::945d:e362:712d:1b80%3]) with mapi id 15.20.4587.026; Wed, 13 Oct 2021 18:31:53 +0000 From: Hemant Agrawal To: dev@dpdk.org, gakhil@marvell.com Cc: roy.fan.zhang@intel.com, konstantin.ananyev@intel.com, Gagandeep Singh Date: Wed, 13 Oct 2021 23:57:07 +0530 Message-Id: <20211013182720.32486-3-hemant.agrawal@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20211013182720.32486-1-hemant.agrawal@nxp.com> References: <20211013182720.32486-1-hemant.agrawal@nxp.com> X-ClientProxiedBy: SG3P274CA0016.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:be::28) To DU2PR04MB8630.eurprd04.prod.outlook.com (2603:10a6:10:2dd::15) MIME-Version: 1.0 Received: from dpdk-xeon.ap.freescale.net (92.120.0.67) by SG3P274CA0016.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:be::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.15 via Frontend Transport; Wed, 13 Oct 2021 18:31:51 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 865b212d-9092-4124-12c2-08d98e77ba4c X-MS-TrafficTypeDiagnostic: DU2PR04MB8597: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QXwPdP/UYq3Cjzla1CTcZ4j8UPyGMug2ZyGPQfV+uGBcQ2rhHOf6X+2gLbmGNAq7rwlDkQXAtq2bqmDlxVsN1T/eRKfS+yvjswVNh9LiYrNmA/OYLk4Bkey3OBAqhBmmQqTOfEP1rsmSYRSrtu7j6Fj+U5/iLjKCHrSXtqGwnwZTfkANVo520WtWIK8zmsSMO4M5TzzbEmSPTI3cM4/qKF5X8iwypBW0XxJP41N08oYNeKMNcWLVehYg+c73nazhSNDOFOduE8CkYm/puLiWSwmaWWiMQqxUI1GxxCeWy/IAlKDcTq9a+eIGZY1jwNp76o2slB4TnFqVWX2OlJfmuupg6p+44Bsh7RMj3mZwa6pyMXMYSMusAKD+m0qn2qYZtEYQXfOgcqnDH2MNR5nmE1Y93UOr4lhwotMm7j1bCth9gfHzR7zoP+O7lOHlWjtlUcpzfteATXyHk9WVJPqOsyJCBKEzP1MthZLLMg/eyjSJzqqvUnG/I9K7DysLJi/xNfXtyKhLIX53j5rrc8zJ8SzifMLIgyZxwkNNKfVjN0Mf2XH00UOkWBKt5wckCRXYu5bmJjdwU/bAvapkeWPHu6l/lulVX+Lb/wpn9/JOHnIh99PNUS6PvrpJvl/N3RQB7i9/90CUWYpxtnmncs6RJOyA2cXVFziqXDbCU09wP2jOSueOI51Pw6SFT7HJVvNAwjlQO0eYIev6bm5HB7Eqaw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU2PR04MB8630.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(1076003)(2616005)(956004)(66556008)(6512007)(2906002)(83380400001)(5660300002)(508600001)(6666004)(44832011)(36756003)(4326008)(86362001)(6486002)(38350700002)(186003)(6506007)(52116002)(8936002)(38100700002)(26005)(66946007)(8676002)(316002)(66476007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2hqPpZNmDtwDZR+XnxfkLvDte5RYTbFHFoYifECJO3CVEiXmgojDwa+G8hBHi3kVKlOTc83TEEGVlDHjrHvRxhvnf/1N3PO0XJYIOrPiOZH/hLnE6PTr8NQBBt2+XLjOf5ToIXuuCJwIOeSb5eKRew7KwGPLq89kxzrvZlSEMUqjhB79vFtKXz6G/TB4wyK5EqVXISgcmP3yLdvAxMrUUumu1i3NeFFGDwkW2sV6xBBuX4r/i/QDDm+TlUM4YstcT6kZMN3R0ayBBpGo0xlJtE+snQnBsg6h/pRBLjjJw9DOh/MJo7xQW1dEHO3OzArt4YOGMdhYpxOWXkR5BnsaEo/A8GByOcyGkn8qyhbE8jXuLt9Q9YXWb9446KRSDkXolEX50LB05t/F0ARMMX8Wx7Y8Kq4D+HS+jVRftWdcmRg7+qm6skJuIg86Ma64Lz0Bp3lA9RhSnorF00MImdUOAYLm+Uk7YfOfc50N2nBl1wESCXzYwg44NE6cjMzgmIaZeq0WHvfwLuMAQdOLW6HYrh+UmEHeNaDCNFXA6q+tls0o7+zdZ3rLAhAM/O8JOAPTEtSyNgck569Znf4SpiNB0yLl2VNCq0tT8fWGK21FdM9V49PGF1d+dA83xf5SrwH8Rve5kNeCQf0DMmB51YoMNKklCcyjkbJ5v8tk0DPblpeMKYyLM5hquX+zL+I8xY91+gJkVVhQ7fD2s47tSSq/U0zy9IGY4UjfGN56fHAQRle+H4+PHUsxkSDG2CaVUoTefQsb1jlA9ZkVu6Zlw04Ol6ASZvPkdC8GlFPh0V2bbNR02R4Of1VO+f7rJ7T6XnCkgWiro1vbMmOs3KxXkJuJPX8K2t0/2wibe/UdPH1I6v5xK27Q4CwlRLR7sFIAh7pQws5yoc+TV7bxGstGAldIpccaHp30n/jS9usT0wugbNTtkrfSufBoFSyajQ1m4O/f/Y69/L4sIMflJZNd9pnOrwI8+0Kz9Q90qKGDLlPVYm2j5XHOdbXTEQBRwQ3fTWdXn6tdYfdh8pbB7ZFtugapuluyKpLbO1EkrywbX2XTR52VFyDQLUkFesYZHPEzC6DKSvfysu9XUX7Dld4g2GxtlcX+c7aKQ8OsZSqAT8m2L/QGkB9wMAviK2DX6HAV7OvY2a7W0hotLmHGdyTZH8dO0KbKJINHCxaEp7XAvNGm++wKEWqEtUjsZSYJx1lwpxQ4XjtTCh5HtEdbvBKxWNnI8nc9SFD6xjhaaIRKGKjZlohnVj8Os3HxZCG7rGfIThg3mOtI7wBZglEFvVkeDzrgRDexnQ+emfdZuDY8UkQTxBxXlE1tr2qx3OYvimH3Nbyx X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 865b212d-9092-4124-12c2-08d98e77ba4c X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8630.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2021 18:31:52.9088 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lP0mtKUgvQ2bta52ANsUoqpayvA6Da8PjBdw4kh1405cxhlG6P7xCdR+qkQmsTkavSC5ebJ13Yv4IkkBrOB+2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8597 Subject: [dpdk-dev] [PATCH v3 02/15] crypto: add total raw buffer length X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Gagandeep Singh The current crypto raw data vectors is extended to support rte_security usecases, where we need total data length to know how much additional memory space is available in buffer other than data length so that driver/HW can write expanded size data after encryption. Signed-off-by: Gagandeep Singh Acked-by: Akhil Goyal --- doc/guides/rel_notes/deprecation.rst | 7 ------- lib/cryptodev/rte_crypto_sym.h | 6 ++++++ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index f3c998a655..4b26ef6747 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -211,13 +211,6 @@ Deprecation Notices This field will be null for inplace processing. This change is targeted for DPDK 21.11. -* cryptodev: The structure ``rte_crypto_vec`` would be updated to add - ``tot_len`` to support total buffer length. - This is required for security cases like IPsec and PDCP encryption offload - to know how much additional memory space is available in buffer other than - data length so that driver/HW can write expanded size data after encryption. - This change is targeted for DPDK 21.11. - * cryptodev: Hide structures ``rte_cryptodev_sym_session`` and ``rte_cryptodev_asym_session`` to remove unnecessary indirection between session and the private data of session. An opaque pointer can be exposed diff --git a/lib/cryptodev/rte_crypto_sym.h b/lib/cryptodev/rte_crypto_sym.h index dcc0bd5933..e5cef1fb72 100644 --- a/lib/cryptodev/rte_crypto_sym.h +++ b/lib/cryptodev/rte_crypto_sym.h @@ -37,6 +37,8 @@ struct rte_crypto_vec { rte_iova_t iova; /** length of the data buffer */ uint32_t len; + /** total buffer length*/ + uint32_t tot_len; }; /** @@ -980,12 +982,14 @@ rte_crypto_mbuf_to_vec(const struct rte_mbuf *mb, uint32_t ofs, uint32_t len, seglen = mb->data_len - ofs; if (len <= seglen) { vec[0].len = len; + vec[0].tot_len = mb->buf_len; return 1; } /* data spread across segments */ vec[0].len = seglen; left = len - seglen; + vec[0].tot_len = mb->buf_len; for (i = 1, nseg = mb->next; nseg != NULL; nseg = nseg->next, i++) { vec[i].base = rte_pktmbuf_mtod(nseg, void *); @@ -995,6 +999,7 @@ rte_crypto_mbuf_to_vec(const struct rte_mbuf *mb, uint32_t ofs, uint32_t len, if (left <= seglen) { /* whole requested data is completed */ vec[i].len = left; + vec[i].tot_len = mb->buf_len; left = 0; break; } @@ -1002,6 +1007,7 @@ rte_crypto_mbuf_to_vec(const struct rte_mbuf *mb, uint32_t ofs, uint32_t len, /* use whole segment */ vec[i].len = seglen; left -= seglen; + vec[i].tot_len = mb->buf_len; } RTE_ASSERT(left == 0);