From patchwork Thu Sep 2 02:14:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nithin Dabilpuram X-Patchwork-Id: 97726 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 89FBAA0C4C; Thu, 2 Sep 2021 04:16:48 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1DA014013F; Thu, 2 Sep 2021 04:16:48 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 2E1B940041 for ; Thu, 2 Sep 2021 04:16:47 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 181HQ2xr011573 for ; Wed, 1 Sep 2021 19:16:46 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-type; s=pfpt0220; bh=OBj6kvMU5YXbflQz7G2hPg60q8Xhtx8W6Z1JgaUFthw=; b=JUQZlFA6xBEZY1QCEdP6w9Uw0Xk5+47jKYKSk8kldHM+Tv5DhjdW3Sbyb0kerDlBYn/H 5/ADEztOYLolONCcuHeANaqRChnD7pb5t7Ne9/Qo3e0RoC3QULV2uzrqKHCpIxWw+ZQr yPHfUx1Xk6LI5hUaZzq8UVaN4k/O39sxyrn7dvInKL0sx1vVfBQj5uhuBgyi7rhLkPVM 8739gKfQwLY40NuoWKxACfed0crs2BsHUesIoAIWjJaWeuKm65hGz6V82C4VML0NhswE fOpFlfukVxHOKl21eoGTUpdGSbVvISPJvR1stPQdnwdI3qy9BsmP0wA+cYoRy7CK0UEu Pg== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0b-0016f401.pphosted.com with ESMTP id 3atdwq9hpr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Wed, 01 Sep 2021 19:16:46 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Wed, 1 Sep 2021 19:16:44 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.18 via Frontend Transport; Wed, 1 Sep 2021 19:16:44 -0700 Received: from hyd1588t430.marvell.com (unknown [10.29.52.204]) by maili.marvell.com (Postfix) with ESMTP id D86DF3F7040; Wed, 1 Sep 2021 19:16:42 -0700 (PDT) From: Nithin Dabilpuram To: CC: , , , "Nithin Dabilpuram" Date: Thu, 2 Sep 2021 07:44:38 +0530 Message-ID: <20210902021505.17607-1-ndabilpuram@marvell.com> X-Mailer: git-send-email 2.8.4 MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: KZ_Lv0S6H0OUGkvPwC5dUlSAojTVm71e X-Proofpoint-GUID: KZ_Lv0S6H0OUGkvPwC5dUlSAojTVm71e X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.391,FMLib:17.0.607.475 definitions=2021-09-01_05,2021-09-01_01,2020-04-07_01 Subject: [dpdk-dev] [PATCH 00/27] net/cnxk: support for inline ipsec 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" Support for inline ipsec in CN9K event mode and in Cn10K event mode and poll mode. Depends-on: series-18524 ("Crypto adapter support for Marvell CNXK driver) Depends-on: series-18262 ("security: Improve inline fast path routines") Depends-on: series-18562 ("add lookaside IPsec additional features) Kommula Shiva Shankar (1): common/cnxk: add cq enable support in nix Tx path Nithin Dabilpuram (17): common/cnxk: add helper API to dump cpt parse header common/cnxk: allow reuse of SSO API for inline dev common/cnxk: change nix debug API and queue API interface common/cnxk: add nix inline device irq API common/cnxk: add nix inline device init and fini common/cnxk: add nix inline inbound and outbound support API common/cnxk: dump cpt lf registers on error intr common/cnxk: align cpt lf enable/disable sequence common/cnxk: restore nix sqb pool limit before destroy common/cnxk: setup aura bp conf based on nix net/cnxk: add inline security support for cn9k net/cnxk: add inline security support for cn10k net/cnxk: add cn9k Rx support for security offload net/cnxk: add cn9k Tx support for security offload net/cnxk: add cn10k Rx support for security offload net/cnxk: add cn10k Tx support for security offload net/cnxk: reflect globally enabled offloads in queue conf Satheesh Paul (2): common/cnxk: add inline IPsec support in rte flow net/cnxk: add devargs for configuring channel mask Srujana Challa (7): common/cnxk: add security support for cn9k fast path common/cnxk: add anti-replay check implementation for cn9k net/cnxk: add cn9k anti replay support for security offload net/cnxk: add cn10k IPsec transport mode support net/cnxk: update ethertype for mixed IPsec tunnel versions net/cnxk: allow zero udp6 checksum for non inline device net/cnxk: add crypto capabilities for AES CBC and HMAC SHA1 doc/guides/nics/cnxk.rst | 122 +++ doc/guides/rel_notes/release_21_11.rst | 5 + drivers/common/cnxk/cnxk_security.c | 212 +++++ drivers/common/cnxk/cnxk_security.h | 12 + drivers/common/cnxk/cnxk_security_ar.h | 184 ++++ drivers/common/cnxk/hw/cpt.h | 19 + drivers/common/cnxk/meson.build | 3 + drivers/common/cnxk/roc_api.h | 49 +- drivers/common/cnxk/roc_constants.h | 58 ++ drivers/common/cnxk/roc_cpt.c | 54 +- drivers/common/cnxk/roc_cpt.h | 10 + drivers/common/cnxk/roc_cpt_debug.c | 63 +- drivers/common/cnxk/roc_cpt_priv.h | 1 + drivers/common/cnxk/roc_idev.c | 2 + drivers/common/cnxk/roc_idev_priv.h | 3 + drivers/common/cnxk/roc_io.h | 9 + drivers/common/cnxk/roc_io_generic.h | 3 +- drivers/common/cnxk/roc_irq.c | 7 +- drivers/common/cnxk/roc_nix.c | 2 +- drivers/common/cnxk/roc_nix.h | 7 + drivers/common/cnxk/roc_nix_debug.c | 168 +++- drivers/common/cnxk/roc_nix_fc.c | 23 +- drivers/common/cnxk/roc_nix_inl.c | 739 ++++++++++++++++ drivers/common/cnxk/roc_nix_inl.h | 169 ++++ drivers/common/cnxk/roc_nix_inl_dev.c | 547 ++++++++++++ drivers/common/cnxk/roc_nix_inl_dev_irq.c | 359 ++++++++ drivers/common/cnxk/roc_nix_inl_priv.h | 62 ++ drivers/common/cnxk/roc_nix_priv.h | 31 + drivers/common/cnxk/roc_nix_queue.c | 98 ++- drivers/common/cnxk/roc_npc.c | 27 +- drivers/common/cnxk/roc_npc_mcam.c | 28 +- drivers/common/cnxk/roc_platform.h | 11 +- drivers/common/cnxk/roc_priv.h | 3 + drivers/common/cnxk/roc_sso.c | 52 +- drivers/common/cnxk/roc_sso_priv.h | 9 + drivers/common/cnxk/version.map | 33 + drivers/event/cnxk/cn10k_eventdev.c | 93 +- drivers/event/cnxk/cn10k_worker.h | 147 +++- drivers/event/cnxk/cn10k_worker_deq.c | 2 +- drivers/event/cnxk/cn10k_worker_deq_burst.c | 2 +- drivers/event/cnxk/cn10k_worker_deq_ca.c | 2 +- drivers/event/cnxk/cn10k_worker_deq_tmo.c | 2 +- drivers/event/cnxk/cn10k_worker_tx_enq.c | 2 +- drivers/event/cnxk/cn10k_worker_tx_enq_seg.c | 2 +- drivers/event/cnxk/cn9k_eventdev.c | 180 ++-- drivers/event/cnxk/cn9k_worker.h | 171 +++- drivers/event/cnxk/cn9k_worker_deq.c | 2 +- drivers/event/cnxk/cn9k_worker_deq_burst.c | 2 +- drivers/event/cnxk/cn9k_worker_deq_ca.c | 2 +- drivers/event/cnxk/cn9k_worker_deq_tmo.c | 2 +- drivers/event/cnxk/cn9k_worker_dual_deq.c | 2 +- drivers/event/cnxk/cn9k_worker_dual_deq_burst.c | 2 +- drivers/event/cnxk/cn9k_worker_dual_deq_ca.c | 2 +- drivers/event/cnxk/cn9k_worker_dual_deq_tmo.c | 2 +- drivers/event/cnxk/cn9k_worker_dual_tx_enq.c | 2 +- drivers/event/cnxk/cn9k_worker_dual_tx_enq_seg.c | 2 +- drivers/event/cnxk/cn9k_worker_tx_enq.c | 2 +- drivers/event/cnxk/cn9k_worker_tx_enq_seg.c | 2 +- drivers/event/cnxk/cnxk_eventdev_adptr.c | 36 +- drivers/net/cnxk/cn10k_ethdev.c | 36 +- drivers/net/cnxk/cn10k_ethdev.h | 48 ++ drivers/net/cnxk/cn10k_ethdev_sec.c | 492 +++++++++++ drivers/net/cnxk/cn10k_rx.c | 31 +- drivers/net/cnxk/cn10k_rx.h | 649 +++++++++++--- drivers/net/cnxk/cn10k_rx_mseg.c | 2 +- drivers/net/cnxk/cn10k_rx_vec.c | 4 +- drivers/net/cnxk/cn10k_rx_vec_mseg.c | 4 +- drivers/net/cnxk/cn10k_tx.c | 31 +- drivers/net/cnxk/cn10k_tx.h | 1006 +++++++++++++++++++--- drivers/net/cnxk/cn10k_tx_mseg.c | 2 +- drivers/net/cnxk/cn10k_tx_vec.c | 2 +- drivers/net/cnxk/cn10k_tx_vec_mseg.c | 2 +- drivers/net/cnxk/cn9k_ethdev.c | 23 + drivers/net/cnxk/cn9k_ethdev.h | 64 ++ drivers/net/cnxk/cn9k_ethdev_sec.c | 382 ++++++++ drivers/net/cnxk/cn9k_rx.c | 31 +- drivers/net/cnxk/cn9k_rx.h | 493 +++++++++-- drivers/net/cnxk/cn9k_rx_mseg.c | 2 +- drivers/net/cnxk/cn9k_rx_vec.c | 2 +- drivers/net/cnxk/cn9k_rx_vec_mseg.c | 2 +- drivers/net/cnxk/cn9k_tx.c | 29 +- drivers/net/cnxk/cn9k_tx.h | 393 ++++++--- drivers/net/cnxk/cn9k_tx_mseg.c | 2 +- drivers/net/cnxk/cn9k_tx_vec.c | 2 +- drivers/net/cnxk/cn9k_tx_vec_mseg.c | 2 +- drivers/net/cnxk/cnxk_ethdev.c | 221 ++++- drivers/net/cnxk/cnxk_ethdev.h | 124 ++- drivers/net/cnxk/cnxk_ethdev_devargs.c | 88 +- drivers/net/cnxk/cnxk_ethdev_sec.c | 315 +++++++ drivers/net/cnxk/cnxk_lookup.c | 50 +- drivers/net/cnxk/meson.build | 3 + drivers/net/cnxk/version.map | 5 + usertools/dpdk-devbind.py | 8 +- 93 files changed, 7501 insertions(+), 896 deletions(-) create mode 100644 drivers/common/cnxk/cnxk_security_ar.h create mode 100644 drivers/common/cnxk/roc_constants.h create mode 100644 drivers/common/cnxk/roc_nix_inl.c create mode 100644 drivers/common/cnxk/roc_nix_inl.h create mode 100644 drivers/common/cnxk/roc_nix_inl_dev.c create mode 100644 drivers/common/cnxk/roc_nix_inl_dev_irq.c create mode 100644 drivers/common/cnxk/roc_nix_inl_priv.h create mode 100644 drivers/net/cnxk/cn10k_ethdev_sec.c create mode 100644 drivers/net/cnxk/cn9k_ethdev_sec.c create mode 100644 drivers/net/cnxk/cnxk_ethdev_sec.c