From patchwork Thu Sep 30 17:00:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nithin Dabilpuram X-Patchwork-Id: 100136 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 1532CA0C43; Thu, 30 Sep 2021 19:02:03 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3CCD8410F0; Thu, 30 Sep 2021 19:01:57 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 593AD410EA for ; Thu, 30 Sep 2021 19:01:54 +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 18UF7q9q018525 for ; Thu, 30 Sep 2021 10:01:53 -0700 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-type; s=pfpt0220; bh=xBPP97/xOkbOUegBg6sooXV+NPnq+I0V0HUwHoz1ClM=; b=JMjqCtyodwHephm71NlemD35sJRGGFjAKpgQ41ORcXANTGvAMtB9A68+TXozJQSv+8yv D8HSdoPQ4zTcg/O8cXNjBeJpGwvooIZBs8Cs2XL1gPRuM8K9J242AD/J/Q03WwHRj6wo OzsvLmyr5BqvMnz6sOLSpUSVNS1cdt9QCKI9foFUkk+T914MQAwy4iF+htBu1xQNwF6+ UyCKB3GaqcjL3Sxvq8orHPn3LK0RYG7lzaUwh/aur2seCscn4sEFKc5mHLy7pp6toVUR 4EUDVSZypqR1QaIBHyqIK2TP2anF9rchjx2qSlvUp/7RLcOXlLMzr09e266i8yKAZmgo wQ== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0b-0016f401.pphosted.com with ESMTP id 3bd3g3b9g4-7 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Thu, 30 Sep 2021 10:01:52 -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; Thu, 30 Sep 2021 10:01:21 -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; Thu, 30 Sep 2021 10:01:21 -0700 Received: from hyd1588t430.marvell.com (unknown [10.29.52.204]) by maili.marvell.com (Postfix) with ESMTP id 400923F7067; Thu, 30 Sep 2021 10:01:20 -0700 (PDT) From: Nithin Dabilpuram To: CC: , Nithin Dabilpuram Date: Thu, 30 Sep 2021 22:30:45 +0530 Message-ID: <20210930170113.29030-1-ndabilpuram@marvell.com> X-Mailer: git-send-email 2.8.4 In-Reply-To: <20210902021505.17607-1-ndabilpuram@marvell.com> References: <20210902021505.17607-1-ndabilpuram@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: ldJi317Q_MBBhfkAzgbAesImg6sTgpTq X-Proofpoint-ORIG-GUID: ldJi317Q_MBBhfkAzgbAesImg6sTgpTq 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-30_06,2021-09-30_01,2020-04-07_01 Subject: [dpdk-dev] [PATCH v2 00/28] 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. Kommula Shiva Shankar (1): common/cnxk: add CQ enable support in NIX Tx path Nithin Dabilpuram (18): common/cnxk: support CPT parse header dump common/cnxk: allow reuse of SSO API for inline dev common/cnxk: change NIX debug API and queue API interface common/cnxk: support NIX inline device IRQ common/cnxk: support NIX inline device init and fini common/cnxk: support NIX inline inbound and outbound setup common/cnxk: disable CQ drop when inline inbound is enabled 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: support inline security setup for cn9k net/cnxk: support inline security setup for cn10k net/cnxk: support Rx security offload on cn9k net/cnxk: support Tx security offload on cn9k net/cnxk: support Rx security offload on cn10k net/cnxk: support Tx security offload on cn10k net/cnxk: reflect globally enabled offloads in queue conf Satheesh Paul (2): common/cnxk: support inline IPsec rte flow action net/cnxk: support configuring channel mask via devargs Srujana Challa (7): common/cnxk: support cn9k fast path security session common/cnxk: support anti-replay check in SW for cn9k net/cnxk: support IPsec anti replay in cn9k net/cnxk: support IPsec transport mode in cn10k 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 v2: - Included bug fixes for second pass packets - Updated .ini files. - Reworded commit messages with additional description and abbreviation fixes doc/guides/nics/cnxk.rst | 122 +++ doc/guides/nics/features/cnxk.ini | 1 + doc/guides/nics/features/cnxk_vec.ini | 1 + doc/guides/nics/features/cnxk_vf.ini | 1 + doc/guides/rel_notes/release_21_11.rst | 2 + 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 | 778 +++++++++++++++++ drivers/common/cnxk/roc_nix_inl.h | 170 ++++ drivers/common/cnxk/roc_nix_inl_dev.c | 639 ++++++++++++++ drivers/common/cnxk/roc_nix_inl_dev_irq.c | 359 ++++++++ drivers/common/cnxk/roc_nix_inl_priv.h | 68 ++ drivers/common/cnxk/roc_nix_priv.h | 31 + drivers/common/cnxk/roc_nix_queue.c | 137 +-- 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 | 34 + 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 | 182 ++-- drivers/event/cnxk/cn9k_worker.h | 170 +++- 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 | 41 +- 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 | 243 +++++- drivers/net/cnxk/cnxk_ethdev.h | 125 ++- 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 +- 96 files changed, 7686 insertions(+), 918 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