From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 4F6F51B92D for ; Thu, 10 Jan 2019 22:09:19 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jan 2019 13:09:18 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,462,1539673200"; d="scan'208";a="134836301" Received: from sivswdev08.ir.intel.com (HELO localhost.localdomain) ([10.237.217.47]) by fmsmga004.fm.intel.com with ESMTP; 10 Jan 2019 13:09:16 -0800 From: Konstantin Ananyev To: dev@dpdk.org Cc: akhil.goyal@nxp.com, pablo.de.lara.guarch@intel.com, thomas@monjalon.net, Konstantin Ananyev Date: Thu, 10 Jan 2019 21:09:03 +0000 Message-Id: <1547154553-15814-1-git-send-email-konstantin.ananyev@intel.com> X-Mailer: git-send-email 1.7.0.7 In-Reply-To: <1547034250-21252-2-git-send-email-konstantin.ananyev@intel.com> References: <1547034250-21252-2-git-send-email-konstantin.ananyev@intel.com> Subject: [dpdk-dev] [PATCH v8 00/10] examples/ipsec-secgw: make app to use ipsec library 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: , X-List-Received-Date: Thu, 10 Jan 2019 21:09:19 -0000 This patch series depends on the patch series: ipsec: new library for IPsec data-path processing to be applied first. v7 -> v8 rebase on top of crypto-next check-git-log nit-picks v6 -> v7 Call drain_crypto_queue() for each processed port (reported/suggested by Akhil) Add ixgbe inline-ipsec test-case into functiona test scripts (for now ipv4 tunnel mode only) v5 -> v6 Address issues reported by Akhil: segfault when using lookaside-proto device HW IPv4 cksum offload not enabled by default crypto-dev dequeue() is called to often v4 -> v5 - Address Akhil comments: documentation update spell checks spacing etc. introduce rxoffload/txoffload parameters single SA for ipv6 update Makefile v3 -> v4 - fix few issues with the test scripts - update docs v2 -> v3 - add IPv6 cases into test scripts - fixes for IPv6 support - fixes for inline-crypto support - some code restructuring v1 -> v2 - Several bug fixes That series contians few bug-fixes and changes to make ipsec-secgw to utilize librte_ipsec library: - changes in the related data structures. - changes in the initialization code. - changes in the data-path code. - new command-line parameters to enable librte_ipsec codepath and related features. - test scripts to help automate ipsec-secgw functional testing. Note that right now by default current (non-librte_ipsec) code-path will be used. User has to run application with new command-line option ('-l') to enable new codepath. The main reason for that: - current librte_ipsec doesn't support all ipsec algorithms and features that the app does. - allow users to run both versions in parallel for some time to figure out any functional or performance degradation with the new code. Test scripts were run with the following crypto devices: - aesni_mb - aesni_gcm - qat - ixgbe inline-ipsec (ipv4 tunnel mode) Konstantin Ananyev (10): examples/ipsec-secgw: allow user to disable some Rx/Tx offloads examples/ipsec-secgw: allow to specify neighbour MAC address examples/ipsec-secgw: fix crypto-op might never get dequeued examples/ipsec-secgw: fix outbound codepath for single SA examples/ipsec-secgw: make local variables static examples/ipsec-secgw: fix inbound SA checking examples/ipsec-secgw: make app to use ipsec library examples/ipsec-secgw: make data-path to use ipsec library examples/ipsec-secgw: add scripts for functional test doc: update ipsec-secgw guide and relelase notes doc/guides/rel_notes/release_19_02.rst | 14 + doc/guides/sample_app_ug/ipsec_secgw.rst | 159 +++++- examples/ipsec-secgw/Makefile | 5 +- examples/ipsec-secgw/ipsec-secgw.c | 488 ++++++++++++++---- examples/ipsec-secgw/ipsec.c | 101 ++-- examples/ipsec-secgw/ipsec.h | 67 +++ examples/ipsec-secgw/ipsec_process.c | 357 +++++++++++++ examples/ipsec-secgw/meson.build | 6 +- examples/ipsec-secgw/parser.c | 91 ++++ examples/ipsec-secgw/parser.h | 8 +- examples/ipsec-secgw/sa.c | 263 +++++++++- examples/ipsec-secgw/sp4.c | 35 +- examples/ipsec-secgw/sp6.c | 35 +- examples/ipsec-secgw/test/common_defs.sh | 162 ++++++ examples/ipsec-secgw/test/data_rxtx.sh | 62 +++ examples/ipsec-secgw/test/linux_test4.sh | 63 +++ examples/ipsec-secgw/test/linux_test6.sh | 64 +++ examples/ipsec-secgw/test/run_test.sh | 80 +++ .../test/trs_aescbc_sha1_common_defs.sh | 69 +++ .../ipsec-secgw/test/trs_aescbc_sha1_defs.sh | 67 +++ .../test/trs_aescbc_sha1_esn_atom_defs.sh | 5 + .../test/trs_aescbc_sha1_esn_defs.sh | 66 +++ .../test/trs_aescbc_sha1_old_defs.sh | 5 + .../test/trs_aesgcm_common_defs.sh | 60 +++ examples/ipsec-secgw/test/trs_aesgcm_defs.sh | 76 +++ .../test/trs_aesgcm_esn_atom_defs.sh | 5 + .../ipsec-secgw/test/trs_aesgcm_esn_defs.sh | 66 +++ .../test/trs_aesgcm_inline_crypto_defs.sh | 6 + .../test/trs_aesgcm_inline_crypto_old_defs.sh | 5 + .../ipsec-secgw/test/trs_aesgcm_old_defs.sh | 5 + .../test/tun_aescbc_sha1_common_defs.sh | 68 +++ .../ipsec-secgw/test/tun_aescbc_sha1_defs.sh | 70 +++ .../test/tun_aescbc_sha1_esn_atom_defs.sh | 5 + .../test/tun_aescbc_sha1_esn_defs.sh | 70 +++ .../test/tun_aescbc_sha1_old_defs.sh | 5 + .../test/tun_aesgcm_common_defs.sh | 60 +++ examples/ipsec-secgw/test/tun_aesgcm_defs.sh | 80 +++ .../test/tun_aesgcm_esn_atom_defs.sh | 5 + .../ipsec-secgw/test/tun_aesgcm_esn_defs.sh | 70 +++ .../test/tun_aesgcm_inline_crypto_defs.sh | 6 + .../test/tun_aesgcm_inline_crypto_old_defs.sh | 5 + .../ipsec-secgw/test/tun_aesgcm_old_defs.sh | 5 + 42 files changed, 2785 insertions(+), 159 deletions(-) create mode 100644 examples/ipsec-secgw/ipsec_process.c create mode 100644 examples/ipsec-secgw/test/common_defs.sh create mode 100644 examples/ipsec-secgw/test/data_rxtx.sh create mode 100644 examples/ipsec-secgw/test/linux_test4.sh create mode 100644 examples/ipsec-secgw/test/linux_test6.sh create mode 100644 examples/ipsec-secgw/test/run_test.sh create mode 100644 examples/ipsec-secgw/test/trs_aescbc_sha1_common_defs.sh create mode 100644 examples/ipsec-secgw/test/trs_aescbc_sha1_defs.sh create mode 100644 examples/ipsec-secgw/test/trs_aescbc_sha1_esn_atom_defs.sh create mode 100644 examples/ipsec-secgw/test/trs_aescbc_sha1_esn_defs.sh create mode 100644 examples/ipsec-secgw/test/trs_aescbc_sha1_old_defs.sh create mode 100644 examples/ipsec-secgw/test/trs_aesgcm_common_defs.sh create mode 100644 examples/ipsec-secgw/test/trs_aesgcm_defs.sh create mode 100644 examples/ipsec-secgw/test/trs_aesgcm_esn_atom_defs.sh create mode 100644 examples/ipsec-secgw/test/trs_aesgcm_esn_defs.sh create mode 100644 examples/ipsec-secgw/test/trs_aesgcm_inline_crypto_defs.sh create mode 100644 examples/ipsec-secgw/test/trs_aesgcm_inline_crypto_old_defs.sh create mode 100644 examples/ipsec-secgw/test/trs_aesgcm_old_defs.sh create mode 100644 examples/ipsec-secgw/test/tun_aescbc_sha1_common_defs.sh create mode 100644 examples/ipsec-secgw/test/tun_aescbc_sha1_defs.sh create mode 100644 examples/ipsec-secgw/test/tun_aescbc_sha1_esn_atom_defs.sh create mode 100644 examples/ipsec-secgw/test/tun_aescbc_sha1_esn_defs.sh create mode 100644 examples/ipsec-secgw/test/tun_aescbc_sha1_old_defs.sh create mode 100644 examples/ipsec-secgw/test/tun_aesgcm_common_defs.sh create mode 100644 examples/ipsec-secgw/test/tun_aesgcm_defs.sh create mode 100644 examples/ipsec-secgw/test/tun_aesgcm_esn_atom_defs.sh create mode 100644 examples/ipsec-secgw/test/tun_aesgcm_esn_defs.sh create mode 100644 examples/ipsec-secgw/test/tun_aesgcm_inline_crypto_defs.sh create mode 100644 examples/ipsec-secgw/test/tun_aesgcm_inline_crypto_old_defs.sh create mode 100644 examples/ipsec-secgw/test/tun_aesgcm_old_defs.sh -- 2.17.1