From patchwork Sat Jan 18 10:48:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anoob Joseph X-Patchwork-Id: 64856 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0550CA051C; Sat, 18 Jan 2020 11:49:35 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E7C532C23; Sat, 18 Jan 2020 11:49:34 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 5AECD29D6 for ; Sat, 18 Jan 2020 11:49:33 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 00IAmmWT012155; Sat, 18 Jan 2020 02:49:32 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0818; bh=/DzPRWMc2irOBvdMvMyxXKJgClBrqzzr6mj5VpD4HcI=; b=lIwYH1opLnbj9HdiwveonlcAO/rsh5pCwxVkLll5FfN3O5uABOiSxBKux/aoOjxMCALe GUr3ulAXFiJBAoBAoij/KFjlpHohzM2+plHGFdw3J51qbbtMgeUAvvxCadmpWXcSChp+ GTVqsdGqPSAswwobgMzfykdVXNnxdc+M4ks/LjmhnstXG4PDKqHinoKCbi2YJhcN9Re/ Wpu1ZjquPq1d+V94U7xYHunWysn7f9ZC8y1ddgfk1+nEywx4KtGjKHxZq1z59q3nvTCm /0ZzksJ1kaCMmAP8x7zyCuaYfvBtjjfsnL+ZpiL0soUwAeKGt+bYWlQ34OB/9wyzBy29 zA== Received: from sc-exch03.marvell.com ([199.233.58.183]) by mx0a-0016f401.pphosted.com with ESMTP id 2xm08v01kk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sat, 18 Jan 2020 02:49:32 -0800 Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 18 Jan 2020 02:49:30 -0800 Received: from maili.marvell.com (10.93.176.43) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sat, 18 Jan 2020 02:49:30 -0800 Received: from ajoseph83.caveonetworks.com (unknown [10.29.45.60]) by maili.marvell.com (Postfix) with ESMTP id 59DFE3F703F; Sat, 18 Jan 2020 02:49:26 -0800 (PST) From: Anoob Joseph To: Akhil Goyal , Declan Doherty , Thomas Monjalon CC: Anoob Joseph , Jerin Jacob , Narayana Prasad , Kiran Kumar K , Nithin Dabilpuram , "Pavan Nikhilesh" , Ankur Dwivedi , Archana Muniganti , Tejasree Kondoj , Vamsi Attunuru , "Lukasz Bartosik" , Date: Sat, 18 Jan 2020 16:18:58 +0530 Message-ID: <1579344553-11428-1-git-send-email-anoobj@marvell.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1575806094-28391-1-git-send-email-anoobj@marvell.com> References: <1575806094-28391-1-git-send-email-anoobj@marvell.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.572 definitions=2020-01-18_02:2020-01-16, 2020-01-18 signatures=0 Subject: [dpdk-dev] [PATCH v2 00/15] add OCTEONTX2 inline IPsec support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" This series adds inline IPsec support in OCTEONTX2 PMD. In the inbound path, rte_flow framework need to be used to configure the NPC block, which does the h/w lookup. The packets would get processed by the crypto block and would submit to the scheduling block, SSO. So inline IPsec mode can be enabled only when traffic is received via event device using Rx adapter. In the outbound path, the core would submit to the crypto block and the crypto block would submit the packet for Tx internally. v2: * Minimized additions to common/octeontx2 * Updated release notes * Renamed otx2_is_ethdev to otx2_ethdev_is_sec_capable Ankur Dwivedi (3): crypto/octeontx2: add eth security capabilities crypto/octeontx2: add datapath ops in eth security ctx crypto/octeontx2: add inline tx path changes Anoob Joseph (4): common/octeontx2: add CPT LF mbox for inline inbound crypto/octeontx2: create eth security ctx crypto/octeontx2: enable CPT to share QP with ethdev crypto/octeontx2: add eth security session operations Archana Muniganti (3): crypto/octeontx2: add lookup mem changes to hold sa indices drivers/octeontx2: add sec in compiler optimized RX fastpath framework drivers/octeontx2: add sec in compiler optimized TX fastpath framework Tejasree Kondoj (3): crypto/octeontx2: configure for inline IPsec crypto/octeontx2: add security in eth dev configure net/octeontx2: add inline ipsec rx path changes Vamsi Attunuru (2): common/octeontx2: add routine to check if sec capable otx2 crypto/octeontx2: sync inline tag type cfg with Rx adapter configuration doc/guides/nics/octeontx2.rst | 20 + doc/guides/rel_notes/release_20_02.rst | 9 + drivers/common/octeontx2/otx2_common.c | 22 + drivers/common/octeontx2/otx2_common.h | 22 + drivers/common/octeontx2/otx2_mbox.h | 7 + .../octeontx2/rte_common_octeontx2_version.map | 3 + drivers/crypto/octeontx2/Makefile | 7 +- drivers/crypto/octeontx2/meson.build | 7 +- drivers/crypto/octeontx2/otx2_cryptodev.c | 8 + .../crypto/octeontx2/otx2_cryptodev_hw_access.h | 22 +- drivers/crypto/octeontx2/otx2_cryptodev_mbox.c | 53 ++ drivers/crypto/octeontx2/otx2_cryptodev_mbox.h | 7 + drivers/crypto/octeontx2/otx2_cryptodev_ops.c | 56 ++ drivers/crypto/octeontx2/otx2_cryptodev_qp.h | 35 + drivers/crypto/octeontx2/otx2_ipsec_fp.h | 348 +++++++++ drivers/crypto/octeontx2/otx2_security.c | 870 +++++++++++++++++++++ drivers/crypto/octeontx2/otx2_security.h | 158 ++++ drivers/crypto/octeontx2/otx2_security_tx.h | 175 +++++ drivers/event/octeontx2/Makefile | 1 + drivers/event/octeontx2/meson.build | 5 +- drivers/event/octeontx2/otx2_evdev.c | 170 ++-- drivers/event/octeontx2/otx2_evdev.h | 4 +- drivers/event/octeontx2/otx2_worker.c | 6 +- drivers/event/octeontx2/otx2_worker.h | 6 + drivers/event/octeontx2/otx2_worker_dual.c | 6 +- drivers/net/octeontx2/Makefile | 1 + drivers/net/octeontx2/meson.build | 3 + drivers/net/octeontx2/otx2_ethdev.c | 46 +- drivers/net/octeontx2/otx2_ethdev.h | 2 + drivers/net/octeontx2/otx2_ethdev_devargs.c | 19 + drivers/net/octeontx2/otx2_flow.c | 26 + drivers/net/octeontx2/otx2_lookup.c | 11 +- drivers/net/octeontx2/otx2_rx.c | 27 +- drivers/net/octeontx2/otx2_rx.h | 377 ++++++--- drivers/net/octeontx2/otx2_tx.c | 29 +- drivers/net/octeontx2/otx2_tx.h | 271 +++++-- 36 files changed, 2556 insertions(+), 283 deletions(-) create mode 100644 drivers/crypto/octeontx2/otx2_cryptodev_qp.h create mode 100644 drivers/crypto/octeontx2/otx2_ipsec_fp.h create mode 100644 drivers/crypto/octeontx2/otx2_security.c create mode 100644 drivers/crypto/octeontx2/otx2_security.h create mode 100644 drivers/crypto/octeontx2/otx2_security_tx.h