[dpdk-dev] [PATCH v7 00/10] examples/ipsec-secgw: make app to use ipsec library
Akhil Goyal
akhil.goyal at nxp.com
Thu Jan 10 16:20:59 CET 2019
On 1/9/2019 5:14 PM, Konstantin Ananyev wrote:
> This patch series depends on the patch series:
>
> ipsec: new library for IPsec data-path processing
> http://patches.dpdk.org/patch/49410/
> http://patches.dpdk.org/patch/49411/
> http://patches.dpdk.org/patch/49412/
> http://patches.dpdk.org/patch/49413/
> http://patches.dpdk.org/patch/49414/
> http://patches.dpdk.org/patch/49415/
> http://patches.dpdk.org/patch/49416/
> http://patches.dpdk.org/patch/49417/
> http://patches.dpdk.org/patch/49418/
> http://patches.dpdk.org/patch/49419/
>
> to be applied first.
>
> 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)
There is some performance drop for NXP hardware if we use the new
library mode for lookaside case which can be looked at a later stage
when library mode is enabled by default and legacy mode code path is
removed.
So for now, (probably a rebase will required over Fan's patchset)
Acked-by: Akhil Goyal <akhil.goyal at nxp.com>
> 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
>
More information about the dev
mailing list