[dpdk-dev] [PATCH v5 00/10] examples/ipsec-secgw: make app to use ipsec library
Akhil Goyal
akhil.goyal at nxp.com
Wed Jan 2 09:48:14 CET 2019
Hi Konstantin,
I just got results on running the ipsec-secgw on NXP hardware.
it seems there is a drop of around 10% for lookaside proto with normal
command(i.e. without -l option)
with -l option, I got a seg fault while running traffic. gdb suggest
that pkt_func is not filled up and is NULL.
#1 0x00000000004689bc in rte_ipsec_pkt_crypto_prepare (ss=0x17ad82d80,
mb=0xffffffffe498, cop=0xffffffffdfc0, num=1)
at
/home/akhil/netperf/dpdk_up/dpdk-next-crypto/arm64-dpaa-linuxapp-gcc/include/rte_ipsec.h:115
(gdb) p /x *ss
$1 = {sa = 0x17ad7ea40, type = 0x3, {crypto = {ses = 0x165a4e900},
security = {ses = 0x165a4e900, ctx = 0x0, ol_flags = 0x0}}, pkt_func = {
prepare = 0x0, process = 0x0}}
On 12/28/2018 9:03 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/49332/
> http://patches.dpdk.org/patch/49333/
> http://patches.dpdk.org/patch/49334/
> http://patches.dpdk.org/patch/49335/
> http://patches.dpdk.org/patch/49336/
> http://patches.dpdk.org/patch/49337/
> http://patches.dpdk.org/patch/49338/
> http://patches.dpdk.org/patch/49339/
> http://patches.dpdk.org/patch/49340/
> http://patches.dpdk.org/patch/49341/
>
> to be applied first.
>
> 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 | 62 ++-
> examples/ipsec-secgw/ipsec.h | 67 +++
> examples/ipsec-secgw/ipsec_process.c | 341 +++++++++++++
> 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, 2685 insertions(+), 145 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