[dpdk-dev] [PATCH v6 00/10] examples/ipsec-secgw: make app to use ipsec library
Akhil Goyal
akhil.goyal at nxp.com
Fri Jan 4 12:37:18 CET 2019
Hi Konstantin,
With this patchset, I am seeing a 3% drop in legacy mode lookaside and
12% drop with -l option.
I am debugging this. Will let you know if I find something.
-Akhil
On 1/4/2019 1:55 AM, 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.
>
> 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
>
> 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 | 480 ++++++++++++++----
> 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 | 153 ++++++
> 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 | 66 +++
> .../test/trs_aesgcm_esn_atom_defs.sh | 5 +
> .../ipsec-secgw/test/trs_aesgcm_esn_defs.sh | 66 +++
> .../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 | 70 +++
> .../test/tun_aesgcm_esn_atom_defs.sh | 5 +
> .../ipsec-secgw/test/tun_aesgcm_esn_defs.sh | 70 +++
> .../ipsec-secgw/test/tun_aesgcm_old_defs.sh | 5 +
> 38 files changed, 2727 insertions(+), 158 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_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_old_defs.sh
>
More information about the dev
mailing list