From patchwork Tue Oct 19 09:23:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Radu Nicolau X-Patchwork-Id: 102152 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 56DB3A0C43; Tue, 19 Oct 2021 11:36:31 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 15D6A40683; Tue, 19 Oct 2021 11:36:31 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id AD5094003E for ; Tue, 19 Oct 2021 11:36:29 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10141"; a="314669750" X-IronPort-AV: E=Sophos;i="5.85,384,1624345200"; d="scan'208";a="314669750" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Oct 2021 02:36:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,384,1624345200"; d="scan'208";a="661739764" Received: from silpixa00400884.ir.intel.com ([10.243.22.82]) by orsmga005.jf.intel.com with ESMTP; 19 Oct 2021 02:36:25 -0700 From: Radu Nicolau To: Cc: dev@dpdk.org, declan.doherty@intel.com, abhijit.sinha@intel.com, jingjing.wu@intel.com, qi.z.zhang@intel.com, beilei.xing@intel.com, bruce.richardson@intel.com, konstantin.ananyev@intel.com, Radu Nicolau Date: Tue, 19 Oct 2021 10:23:37 +0100 Message-Id: <20211019092344.1299368-1-radu.nicolau@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210909142428.750634-1-radu.nicolau@intel.com> References: <20210909142428.750634-1-radu.nicolau@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v10 0/7] iavf: add iAVF IPsec inline crypto support 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" Add support for inline crypto for IPsec, for ESP transport and tunnel over IPv4 and IPv6, as well as supporting the offload for ESP over UDP, and inconjunction with TSO for UDP and TCP flows. Radu Nicolau (7): common/iavf: add iAVF IPsec inline crypto support net/iavf: rework tx path net/iavf: add support for asynchronous virt channel messages net/iavf: add iAVF IPsec inline crypto support net/iavf: add xstats support for inline IPsec crypto net/iavf: add watchdog for VFLR net/iavf: update doc with inline crypto support doc/guides/nics/features/iavf.ini | 2 + doc/guides/nics/intel_vf.rst | 10 + doc/guides/rel_notes/release_21_11.rst | 1 + drivers/common/iavf/iavf_type.h | 1 + drivers/common/iavf/virtchnl.h | 17 +- drivers/common/iavf/virtchnl_inline_ipsec.h | 553 +++++ drivers/net/iavf/iavf.h | 52 +- drivers/net/iavf/iavf_ethdev.c | 219 +- drivers/net/iavf/iavf_generic_flow.c | 15 + drivers/net/iavf/iavf_generic_flow.h | 2 + drivers/net/iavf/iavf_ipsec_crypto.c | 1894 +++++++++++++++++ drivers/net/iavf/iavf_ipsec_crypto.h | 160 ++ .../net/iavf/iavf_ipsec_crypto_capabilities.h | 383 ++++ drivers/net/iavf/iavf_rxtx.c | 710 ++++-- drivers/net/iavf/iavf_rxtx.h | 198 +- drivers/net/iavf/iavf_rxtx_vec_sse.c | 10 +- drivers/net/iavf/iavf_vchnl.c | 167 +- drivers/net/iavf/meson.build | 3 +- drivers/net/iavf/rte_pmd_iavf.h | 1 + drivers/net/iavf/version.map | 3 + 20 files changed, 4090 insertions(+), 311 deletions(-) create mode 100644 drivers/common/iavf/virtchnl_inline_ipsec.h create mode 100644 drivers/net/iavf/iavf_ipsec_crypto.c create mode 100644 drivers/net/iavf/iavf_ipsec_crypto.h create mode 100644 drivers/net/iavf/iavf_ipsec_crypto_capabilities.h